Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Die Funktion COUNT
Die Funktion COUNT zählt die durch den Ausdruck definierten Zeilen.
Zu der Funktion COUNT gibt es folgende Varianten.
-
COUNT ( * ) zählt alle Zeilen in der Zieltabelle, unabhängig davon, ob sie Null-Werte enthalten oder nicht.
-
COUNT ( expression ) berechnet die Zahl der Zeilen mit Nicht-NULL-Werten in einer spezifischen Spalte oder einem spezifischen Ausdruck.
-
COUNT ( DISTINCT expression ) berechnet die Zahl der unterschiedlichen Nicht-NULL-Werte in einer Spalte oder einem Ausdruck.
-
APPROXIMATE COUNT DISTINCT ermittelt die ungefähre Anzahl der unterschiedlichen Nicht-NULL-Werte in einer Spalte oder einem Ausdruck.
Syntax
COUNT( * | expression )
COUNT ( [ DISTINCT | ALL ] expression )
APPROXIMATE COUNT ( DISTINCT expression )
Argumente
- Ausdruck
-
Die Zielspalte oder der Ausdruck, für die/den die Funktion ausgeführt wird. Die Funktion COUNT unterstützt alle Argumentdatentypen.
- DISTINCT | ALL
-
Mit dem Argument DISTINCT beseitigt die Funktion alle duplizierten Werte aus dem angegebenen Ausdruck, bevor die Zählung ausgeführt wird. Mit dem Argument ALL behält die Funktion alle duplizierten Werte aus dem angegebenen Ausdruck, um die Zählung auszuführen. ALL ist das Standardargument.
- APPROXIMATE
-
Bei Verwendung mit APPROXIMATE verwendet eine Funktion COUNT DISTINCT einen HyperLogLog Algorithmus, um die Anzahl der unterschiedlichen Nicht-NULL-Werte in einer Spalte oder einem Ausdruck anzunähern. Abfragen mit dem Schlüsselwort APPROXIMATE werden sehr viel schneller bei einer niedrigen relativen Fehlerquote von etwa 2 % ausgeführt. Annäherungen sollten bei Abfragen verwendet werden, die eine große Zahl unterschiedlicher Werte zurückgeben, beispielsweise mehrere Millionen oder mehr pro Abfrage (bzw. pro Gruppe, wenn es eine GROUP BY-Klausel gibt). Bei kleineren Sätzen unterschiedlicher Werte, d. h. mehreren tausend, werden Annäherungen möglicherweise langsamer ausgeführt als präzise Zählungen. APPROXIMATE kann nur mit COUNT DISTINCT verwendet werden.
Rückgabetyp
Die Funktion COUNT gibt BIGINT zurück.
Beispiele
Zählung aller Benutzer aus dem Bundesstaat Florida:
select count(*) from users where state='FL';
count ------- 510
Zählung aller Ereignisnamen aus der EVENT-Tabelle:
select count(eventname) from event;
count ------- 8798
Zählung aller Ereignisnamen aus der EVENT-Tabelle:
select count(all eventname) from event;
count ------- 8798
Zählung aller eindeutigen Veranstaltungs-IDs aus der Tabelle EVENT:
select count(distinct venueid) as venues from event;
venues -------- 204
Zählung der Häufigkeit, mit der die einzelnen Verkäufer Batches von mehr als vier Tickets zum Verkauf aufgelistet haben; Gruppierung der Ergebnisse nach Verkäufer-ID:
select count(*), sellerid from listing where numtickets > 4 group by sellerid order by 1 desc, 2;
count | sellerid ------+---------- 12 | 6386 11 | 17304 11 | 20123 11 | 25428 ...
In den folgenden Beispielen werden die Rückgabewerte und Ausführungszeichen für COUNT und APPROXIMATE COUNT verglichen.
select count(distinct pricepaid) from sales;
count ------- 4528 Time: 48.048 ms
select approximate count(distinct pricepaid) from sales;
count ------- 4553 Time: 21.728 ms