Probleem:
U wilt bepalen hoeveel rijen een tabel heeft.
Voorbeeld:
Onze database heeft een tabel met de naam pet
met gegevens in de volgende kolommen:id
, eID
(elektronische identificatiecode), en name
.
id | eID | naam |
---|---|---|
1 | 23456 | sprankelend |
2 | 23457 | mily |
3 | NULL | minder |
4 | NULL | carl |
5 | 34545 | maggy |
Laten we alle rijen in de tabel tellen.
Oplossing:
COUNT(*)
telt het totale aantal rijen in de tabel:
SELECT COUNT(*) as count_pet FROM pet;
Dit is het resultaat:
count_pet |
---|
5 |
In plaats van het sterretje als argument door te geven, kunt u de naam van een specifieke kolom gebruiken:
SELECT COUNT(id) as count_pet FROM pet;
In dit geval COUNT(id)
telt het aantal rijen waarin id
is niet NULL
.
Discussie:
Gebruik de COUNT
aggregatiefunctie om het aantal rijen in een tabel te tellen. Deze functie neemt de naam van de kolom als argument (bijv. id
) en retourneert het aantal rijen voor deze specifieke kolom in de tabel (bijv. 5).
Zoals hierboven vermeld, telt de functie alleen niet-NULL
wanneer u een kolom opgeeft in plaats van de asterisk. waarden. Aangezien id de primaire sleutel van onze tabel is, en daarom uniek en niet-NULL
. heeft waarden:het is een goede kandidaat om het totale aantal rijen in de tabel te tellen.
Om alle rijen te tellen, kunt u natuurlijk het asterisk-teken als argument doorgeven aan COUNT. Hiermee worden alle rijen geteld, inclusief die met een waarde van NULL
in een willekeurige kolom.
Hier is een voorbeeld van het tellen van het aantal rijen voor een kolom met NULL
waarden:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Het wordt aanbevolen om een primaire sleutelkolom of het *-teken door te geven aan de COUNT-functie om het aantal rijen in een tabel te tellen. Zoals we hebben gezien, zullen beide benaderingen hetzelfde resultaat opleveren.