Funkcja agregująca to zaklęcie, które bierze wiele wierszy i zwraca z nich jedną wartość - podsumowanie. Zamiast listy zwojów dostajesz jedną liczbę.
W MySQL mamy pięć podstawowych funkcji agregujących: COUNT, SUM, AVG, MIN i MAX. Zaczniemy od najczęściej używanej - COUNT, czyli "policz".
Gwiazdka oznacza "wszystkie wiersze, niezależnie od zawartości":
1SELECT COUNT(*) FROM ksiazki;To znaczy: "Ile zwojów leży na regale ksiazki?". Biblioteka zwróci jedną liczbę - na przykład 150.
Gdy zamiast gwiazdki podasz nazwę kolumny, MySQL policzy tylko te wiersze, w których ta kolumna nie jest pusta (nie ma wartości NULL):
1SELECT COUNT(data_zwrotu) FROM wypozyczenia;To policzy tylko wypożyczenia, które już zwrócono - bo dla książek wciąż wypożyczonych kolumna
data_zwrotu jest pusta (NULL). To istotna różnica: COUNT(*) policzy wszystkie wypożyczenia, a COUNT(data_zwrotu) tylko te zakończone.Słowo DISTINCT każe pominąć powtórzenia i policzyć tylko unikalne wartości:
1SELECT COUNT(DISTINCT kraj) FROM autorzy;To znaczy: "Z ilu różnych krajów pochodzą nasi autorzy?". Jeśli pięciu autorów jest z Grecji, kraj "Grecja" policzymy tylko raz.
Zapamiętaj te trzy odmiany - to fundament całej Komnaty Liczb!