3.3.4.8 Counting Rows
Databases worden vaak gebruikt om de vraag te beantwoorden: “hoe vaak komt een bepaald type data voor in een tabel?”Bijvoorbeeld, je zou willen weten hoeveel Huisdieren je hebt, of hoeveel huisdieren elke eigenaar heeft, of je zou willen verschillende soorten census operaties uit te voeren op uw dieren.
Het tellen van het totale aantal dieren dat u heeft is dezelfde vraag als “hoeveel rijen staan er in de pet
tabel?,”want er is één record per huisdier. COUNT(*)
telt het aantal rijen, dus de query om uw dieren te tellen ziet er als volgt uit:
eerder hebt u de namen opgehaald van de personen die huisdieren hadden. U kunt COUNT()
gebruiken als u wilt weten hoeveel huisdieren elke eigenaar heeft:
de vorige zoekopdracht gebruikt GROUP BY
om alle records voor elke owner
te groeperen., Het gebruik van COUNT()
in combinatie met GROUP BY
is nuttig voor het karakteriseren van uw gegevens onder verschillende groepen. De volgende voorbeelden laten verschillende manieren zien om dierentellingen uit te voeren.
aantal dieren per soort:
aantal dieren per geslacht:
(in deze output geeft NULL
aan dat het geslacht onbekend is.,)
aantal dieren per combinatie van soort en geslacht:
u hoeft geen volledige tabel op te vragen wanneer uCOUNT()
gebruikt. Bijvoorbeeld, de vorige query, alleen uitgevoerd op honden en katten, ziet er als volgt uit:
of, als u het aantal dieren per geslacht alleen wilde voor dieren waarvan het geslacht bekend is:
Als u kolommen noemt om te selecteren naast de COUNT()
waarde, moet een GROUP BY
clausule aanwezig zijn die dezelfde kolommen noemt. Anders komt het volgende voor:
zie ook Paragraaf 12.20.,3, “MySQL Handling of GROUP BY”. Zie paragraaf 12.20.1, “Aggregate Function Descriptions”voor informatie over COUNT(
gedrag en gerelateerde optimalisaties.expr
)