AVG, MAX, MIN, SUM – funkcje grupujące cz. 1 – Kurs SQL
Zapoznajmy się teraz z funkcjami grupującymi dostępnymi w języku SQL. Mamy ich kilka do wyboru. Należy pamiętać, że stosując funkcje grupujące względem jakiś kolumn należy dodać klauzulę GROUP BY o której pisałem w artykule: GROUP BY – grupowanie wyniku zapytania. Do zaprezentowania funkcji wykorzystamy ponownie tabelę wynagrodzenia widoczną poniżej. Tabela zawiera tylko miesiące kwiecień i maj roku 2021, więc w przykładowych zapytaniach nie używałem już warunku: WHERE miesiac IN (4,5) and rok='2021'.
AVG – funkcja zwracająca średnią wartość z danej kolumny, bądź grupy określonej w klauzuli GROUP BY. Jeżeli chcemy otrzymać informację, jaka była średnia wartość wynagrodzenia w miesiącach kwiecień i maj w roku 2021 wykonamy zapytanie:
SELECT miesiac, rok, AVG(wynagrodzenie) FROM wynagrodzenia GROUP BY miesiac, rok;
Otrzymaliśmy wynik:
Możemy też sprawdzić jaka była średnia wartość wynagrodzenia w całej dostępnej tabeli. W tym przypadku nie używamy innej kolumny niż wynagrodzenie, dlatego nie musimy stosować klauzuli GROUP BY. Zapytanie wygląda teraz następująco:
SELECT AVG(wynagrodzenie) FROM wynagrodzenia;
MAX – funkcja zwracająca maksymalną wartość z danej kolumny, bądź grupy określonej w klauzuli GROUP BY. Jeżeli chcemy otrzymać informację jaka była najwyższa wartość wynagrodzenia w miesiącach kwiecień i maj w roku 2021 wykonamy zapytanie:
SELECT miesiac, rok, MAX(wynagrodzenie) FROM wynagrodzenia GROUP BY miesiac, rok;
Otrzymaliśmy wynik:
Dla otrzymania maksymalnej wartości dostępnej w tabeli wykonamy zapytanie:
SELECT MAX(wynagrodzenie) FROM wynagrodzenia;
Wynik zapytania:
MIN – funkcja zwracająca minimalną wartość z danej kolumny, bądź grupy określonej w klauzuli GROUP BY. Jeżeli chcemy otrzymać informację jaka była najniższa wartość wynagrodzenia w miesiącach kwiecień i maj w roku 2021 wykonamy zapytanie:
SELECT miesiac, rok, MIN(wynagrodzenie) FROM wynagrodzenia GROUP BY miesiac, rok;
Wynik:
Dla minimalnej wartości w tabeli:
SELECT MIN(wynagrodzenie) FROM wynagrodzenia;
Wynik:
SUM – funkcja zwracająca sumę wartość z danej kolumny, bądź grupy określonej w klauzuli GROUP BY. Jeżeli chcemy otrzymać informację jaka była sumaryczna wartość wynagrodzenia w miesiącach kwiecień i maj w roku 2021 wykonamy zapytanie:
SELECT miesiac, rok, SUM(wynagrodzenie) FROM wynagrodzenia GROUP BY miesiac, rok;
W wyniku otrzymamy:
Możemy też oczywiście zsumować wynagrodzenie dla w całej tabeli. W tym przypadku nie stosujemy GROUP BY. Spójrzmy na przykład SQL:
SELECT SUM(wynagrodzenie) FROM wynagrodzenia;
W wyniku otrzymamy wartość:








