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.