Funkcja AVG() w SQL
AVG() to funkcja agregująca SQL, która oblicza średnią arytmetyczną wartości z wybranej kolumny liczbowej.
Stosuje się ją najczęściej do kolumn typu liczbowego, np. ocen, cen, wynagrodzeń, ilości lub punktów.
Składnia
SELECT AVG(nazwa_kolumny)
FROM nazwa_tabeli;
Przykład:
SELECT AVG(ocena)
FROM uczniowie;
Jeżeli w tabeli uczniowie w kolumnie ocena znajdują się wartości:
4, 3, 4, 3
wynik działania zapytania będzie równy:
(4 + 3 + 4 + 3) / 4 = 14 / 4 = 3.5
Zapytanie zwróci więc jedną wartość: 3.5.
Ważne cechy AVG()
AVG()zwraca średnią, a nie sumę ani liczbę rekordów.- Wynikiem jest zwykle jedna komórka z obliczoną wartością.
- Funkcja ignoruje wartości
NULL, czyli brak danych. - Może być używana z warunkiem
WHERE.
Przykład z warunkiem:
SELECT AVG(ocena)
FROM uczniowie
WHERE imie = 'Anna';
To zapytanie obliczy średnią ocen tylko dla rekordów spełniających podany warunek.
Różnica między AVG(), SUM() i COUNT()
SELECT AVG(ocena) FROM uczniowie; -- średnia ocen
SELECT SUM(ocena) FROM uczniowie; -- suma ocen
SELECT COUNT(*) FROM uczniowie; -- liczba wierszy
W pytaniach egzaminacyjnych należy dokładnie sprawdzić nazwę funkcji. AVG() oznacza średnią, dlatego dla ocen 4, 3, 4, 3 poprawnym wynikiem jest 3.5.