Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Funkcje agregujące i COUNT

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

COUNT(*) - policz wszystkie wiersze

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.

COUNT(kolumna) - pomija NULL

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.

COUNT(DISTINCT kolumna) - policz różne wartości

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!

Przejdź do CodeWorlds