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'.

wynagrodzenia

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ść: