Funkcja AVG() w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.