Funkcje agregujące w SQL

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

Funkcje agregujące służą do wykonywania obliczeń na wielu wierszach tabeli i zwracają zwykle jedną wartość wynikową. Stosuje się je wtedy, gdy trzeba policzyć sumę, średnią, liczbę rekordów, minimum albo maksimum.

Najczęściej używane funkcje agregujące

  • SUM(kolumna) - oblicza sumę wartości w kolumnie liczbowej,
  • AVG(kolumna) - oblicza średnią,
  • COUNT(*) - zlicza liczbę wierszy,
  • COUNT(kolumna) - zlicza niepuste wartości w kolumnie,
  • MIN(kolumna) - zwraca najmniejszą wartość,
  • MAX(kolumna) - zwraca największą wartość.

Przykład

Tabela programisci zawiera kolumnę ilosc_kodu, czyli liczbę linii kodu napisanych przez każdego programistę.

Aby policzyć łączną liczbę linii kodu, należy użyć funkcji SUM():

SELECT SUM(ilosc_kodu) FROM programisci;

Oznacza to: zsumuj wartości z kolumny ilosc_kodu we wszystkich rekordach tabeli programisci.

Ważne zasady

Funkcja agregująca działa na kolumnie, a dane są pobierane z tabeli wskazanej po FROM.

Poprawny schemat zapytania to:

SELECT FUNKCJA(kolumna) FROM tabela;

Przykłady:

SELECT COUNT(*) FROM programisci;
SELECT AVG(ocena) FROM programisci;
SELECT MAX(ilosc_kodu) FROM programisci;

Typowy błąd egzaminacyjny

Błędne jest traktowanie nazwy kolumny jak nazwy tabeli, np.:

SELECT SUM(ocena) FROM ilosc_kodu;

Jeżeli ilosc_kodu jest kolumną, a nie tabelą, takie zapytanie jest niepoprawne logicznie.