
Jednym z najczęściej używanych funkcji agregujących w SQL jest COUNT
. Jest niezwykle przydatna, gdy chcemy policzyć ilość rekordów w tabeli. W tym artykule wyjaśnię, jak działa COUNT
w języku SQL, na jakie sposoby można jej używać oraz przedstawię konkretne przykłady jej zastosowania.
Podstawowe działanie funkcji COUNT
Funkcja COUNT
służy do policzenia liczby wierszy zwracanych przez zapytanie SQL. Może być używana na kilka sposobów, w zależności od specyficznych potrzeb.
Podstawowa składnia wygląda następująco:
SELECT COUNT(*) FROM nazwa_tabeli;
Powyższe zapytanie zwróci całkowitą liczbę wierszy w tabeli nazwa_tabeli
, niezależnie od tego, czy zawierają one wartości NULL
, czy nie.
Różne sposoby użycia COUNT
Funkcję COUNT
można używać na kilka różnych sposobów:
COUNT(*)
– liczy wszystkie wiersze w tabeli.COUNT(kolumna)
– liczy tylko te wiersze, w których wartość w danej kolumnie nie jestNULL
.COUNT(DISTINCT kolumna)
– liczy unikalne wartości w danej kolumnie.
Przykłady zastosowania
1. Liczenie wszystkich wierszy w tabeli
Załóżmy, że mamy tabelę uzytkownicy
zawierającą dane użytkowników:
id | nazwa | |
---|---|---|
1 | Alicja | alicja@example.com |
2 | Jan | jan@example.com |
3 | Maria | NULL |
Aby policzyć wszystkich użytkowników w tabeli:
SELECT COUNT(*) FROM uzytkownicy;
To zapytanie zwróci 3
, ponieważ tabela zawiera trzy wiersze.
2. Liczenie wierszy z określoną wartością
Jeśli chcemy policzyć tylko użytkowników, którzy mają podany adres e-mail:
SELECT COUNT(email) FROM uzytkownicy;
Zapytanie zwróci 2
, ponieważ w trzecim wierszu wartość email
wynosi NULL
, a funkcja COUNT(kolumna)
nie liczy wartości pustych.
3. Liczenie unikalnych wartości
Jeśli tabela zawiera duplikaty w kolumnie nazwa
i chcemy policzyć unikalne nazwy użytkowników:
SELECT COUNT(DISTINCT nazwa) FROM uzytkownicy;
Zapytanie zwraca liczbę unikalnych nazw w tabeli.
Użycie COUNT z klauzulą WHERE
W wielu przypadkach interesuje nas liczba rekordów spełniających określone warunki. Na przykład, jeśli chcemy wiedzieć, ilu użytkowników podało swój adres e-mail:
SELECT COUNT(*) FROM uzytkownicy WHERE email IS NOT NULL;
To zapytanie jest równoważne z COUNT(email)
i zwróci 2
.
Podsumowanie
Funkcja COUNT
w SQL jest niezwykle użyteczna, gdy chcemy policzyć liczbę rekordów w tabeli. Może być używana na kilka sposobów:
COUNT(*)
– liczy wszystkie wiersze.COUNT(kolumna)
– liczy tylko wiersze bez wartościNULL
w danej kolumnie.COUNT(DISTINCT kolumna)
– liczy unikalne wartości w kolumnie.
Dzięki niej można łatwo uzyskać statystyki i podsumowania dotyczące danych w bazie. Mam nadzieję, że wyjaśniłem to zagadnienie w sposób przystępny i zrozumiały.
Inny ciekawy artykuł:
Jak działa IS NOT NULL w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.