Problem:
Chcesz określić, ile wierszy ma tabela.
Przykład:
Nasza baza danych zawiera tabelę o nazwie pet
z danymi w następujących kolumnach:id
, eID
(identyfikator elektroniczny) i name
.
id | eID | imię |
---|---|---|
1 | 23456 | iskrzące |
2 | 23457 | milia |
3 | NULL | mniej |
4 | NULL | Carl |
5 | 34545 | Maggy |
Policzmy wszystkie wiersze w tabeli.
Rozwiązanie:
COUNT(*)
zlicza całkowitą liczbę wierszy w tabeli:
SELECT COUNT(*) as count_pet FROM pet;
Oto wynik:
count_pet |
---|
5 |
Zamiast przekazywać gwiazdkę jako argument, możesz użyć nazwy określonej kolumny:
SELECT COUNT(id) as count_pet FROM pet;
W tym przypadku COUNT(id)
zlicza liczbę wierszy, w których id
nie jest NULL
.
Dyskusja:
Użyj COUNT
funkcja agregująca do zliczania liczby wierszy w tabeli. Ta funkcja przyjmuje nazwę kolumny jako swój argument (np. id
) i zwraca liczbę wierszy dla tej konkretnej kolumny w tabeli (np. 5).
Jak wspomniano powyżej, gdy określisz kolumnę zamiast gwiazdki, funkcja zliczy tylko wartości inne niż NULL
wartości. Ponieważ id jest kluczem podstawowym naszej tabeli — i dlatego ma unikalny i inny niż NULL
wartości — to dobry kandydat do policzenia całkowitej liczby wierszy w tabeli.
Oczywiście, aby policzyć wszystkie wiersze, możesz zamiast tego przekazać znak gwiazdki jako argument funkcji LICZBA. Zliczy to wszystkie wiersze, w tym te o wartości NULL
w dowolnej kolumnie.
Oto przykład liczenia liczby wierszy dla kolumny, która ma NULL
wartości:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Zaleca się przekazanie kolumny klucza podstawowego lub znaku * do funkcji ILE.LICZB, aby zliczyć liczbę wierszy w tabeli. Jak widzieliśmy, oba podejścia przyniosą ten sam wynik.