Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Zapytanie z AVG()
Forum PHP.pl > Forum > Przedszkole
=kokos=
mam tabelę

id || nazwisko || placa || id_wydzial

potrzebuję skonstruować zapytanie które wyświetli mi średnią płacę w wydziale/wydziałach, w którym średnia jest wyższa od średniej płacy w całej firmie.

zapytanie

  1. SELECT AVG(placa) FROM pracownicy [WHERE ...] GROUB BY id_wydzial


wyświetla średnie płace w danych wydziałach.

w jaki sposób mogę sformułować warunek aby uzyskać to co chcę uzyskać?
golaod
  1. SELECT *,AVG(placa) AS srednia_wydzialu FROM pracownicy WHERE srednia_wydzialu >= (SELECT AVG(placa) FROM pracownicy) GROUP BY id_wydzial


Tylko strzelam tongue.gif
=kokos=
dzięki za odpowiedź jednak to zapytanie taki błąd generuje:

unknow column 'srednia_wydzialu' in 'where clause'

ale trochę pokombinuję tym tropem ;]

Doszedłem do tego smile.gif

  1. SELECT AVG(placa) AS srednia_wydzialu FROM pracownicy GROUP BY id_wydzial HAVING(srednia_wydzialu) > (SELECT AVG(placa) FROM pracownicy);


dzięki za pomoc
golaod
To podałbyś to rozwiązanie tutaj...komuś mogłoby się przydać
  1. SELECT * FROM ( SELECT *, AVG(placa) AS srednia
  2. FROM pracownicy GROUP BY id_wydzial
  3. ) AS T
  4. WHERE T.srednia>= (SELECT AVG(placa) FROM pracownicy)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.