3.3.4.8 Zählen von Zeilen
Datenbanken werden häufig verwendet, um die Frage zu beantworten: „Wie oft tritt ein bestimmter Datentyp in einer Tabelle auf?“Zum Beispiel möchten Sie vielleicht wissen, wie viele Haustiere Sie haben oder wie viele Haustiere jeder Besitzer hat, oder Sie möchten verschiedene Arten von Zählungen an Ihren Tieren durchführen.
Zählen Sie die Gesamtzahl der Tiere, die Sie haben, ist die gleiche Frage wie „Wie viele Zeilen befinden sich in der Tabelle pet
?,“weil es einen Rekord pro Haustier gibt. COUNT(*)
zählt die Anzahl der Zeilen, sodass die Abfrage zum Zählen Ihrer Tiere folgendermaßen aussieht:
Zuvor haben Sie die Namen der Personen abgerufen, denen Haustiere gehörten. Sie können COUNT()
wenn Sie herausfinden möchten, wie viele Haustiere jeder Besitzer hat:
Die vorherige Abfrage verwendet GROUP BY
, um alle Datensätze für jeden owner
zu gruppieren., Die Verwendung von COUNT()
in Verbindung mit GROUP BY
ist nützlich, um Ihre Daten unter verschiedenen Gruppierungen zu charakterisieren. Die folgenden Beispiele zeigen verschiedene Möglichkeiten zur Durchführung von Tierzählungsoperationen.
Anzahl der Tiere pro Art:
Anzahl der Tiere pro Geschlecht:
(In dieser Ausgabe zeigt NULL
an, dass das Geschlecht unbekannt ist.,)
Anzahl der Tiere pro Kombination von Art und Geschlecht:
Sie müssen nicht eine ganze Tabelle abrufen, wenn Sie COUNT()
. Die vorherige Abfrage sieht beispielsweise so aus, wenn sie nur für Hunde und Katzen ausgeführt wird:
Oder, wenn Sie die Anzahl der Tiere pro Geschlecht nur für Tiere wünschen, deren Geschlecht bekannt ist:
Wenn Sie Spalten benennen, die zusätzlich zur COUNT()
– Klausel ausgewählt werden sollen, sollte ein GROUP BY
– Wert vorhanden sein, der dieselben Spalten benennt. Andernfalls tritt Folgendes auf:
Siehe auch Abschnitt 12.20.,3, „MySQL Handhabung von GROUP BY“. Siehe Abschnitt 12.20.1, „Aggregat-Funktion Beschreibungen“ für Informationen über COUNT(
Verhalten und damit verbundene Optimierungen.expr
)