Problem:
Sie möchten ermitteln, wie viele Zeilen eine Tabelle hat.
Beispiel:
Unsere Datenbank hat eine Tabelle namens pet
mit Daten in den folgenden Spalten:id
, eID
(elektronische Kennung) und name
.
id | eID | Name |
---|---|---|
1 | 23456 | funkelnd |
2 | 23457 | mily |
3 | NULL | weniger |
4 | NULL | Karl |
5 | 34545 | magisch |
Lassen Sie uns alle Zeilen in der Tabelle zählen.
Lösung:
COUNT(*)
zählt die Gesamtzahl der Zeilen in der Tabelle:
SELECT COUNT(*) as count_pet FROM pet;
Hier ist das Ergebnis:
count_pet |
---|
5 |
Anstatt das Sternchen als Argument zu übergeben, können Sie den Namen einer bestimmten Spalte verwenden:
SELECT COUNT(id) as count_pet FROM pet;
In diesem Fall COUNT(id)
zählt die Anzahl der Zeilen, in denen id
ist nicht NULL
.
Diskussion:
Verwenden Sie den COUNT
Aggregatfunktion, um die Anzahl der Zeilen in einer Tabelle zu zählen. Diese Funktion nimmt den Namen der Spalte als Argument (z. B. id
) und gibt die Anzahl der Zeilen für diese bestimmte Spalte in der Tabelle zurück (z. B. 5).
Wie oben erwähnt, zählt die Funktion, wenn Sie anstelle des Sterns eine Spalte angeben, nur Nicht-NULL
Werte. Da id der Primärschlüssel unserer Tabelle ist – und daher eindeutig und nicht-NULL
ist Werte – es ist ein guter Kandidat zum Zählen der Gesamtzahl der Zeilen in der Tabelle.
Um alle Zeilen zu zählen, können Sie natürlich stattdessen das Sternchen als Argument an COUNT übergeben. Dadurch werden alle Zeilen gezählt, einschließlich derjenigen mit einem Wert von NULL
in einer beliebigen Spalte.
Hier ist ein Beispiel für das Zählen der Zeilenanzahl für eine Spalte mit NULL
Werte:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
Es wird empfohlen, dass Sie eine Primärschlüsselspalte oder das *-Zeichen an die COUNT-Funktion übergeben, um die Anzahl der Zeilen in einer Tabelle zu zählen. Wie wir gesehen haben, führen beide Ansätze zum gleichen Ergebnis.