count
-Aggregatfunktion
Gilt für: Databricks SQL Databricks Runtime
Gibt die Anzahl der abgerufenen Zeilen in einer Gruppe zurück.
Syntax
count ( [DISTINCT | ALL] * ) [FILTER ( WHERE cond ) ]
count ( [DISTINCT | ALL] expr [, ...] ) [FILTER ( WHERE cond ) ]
Diese Funktion kann auch mithilfe der OVER
-Klausel als Fensterfunktion aufgerufen werden.
Argumente
*
: Zählt alle Zeilen in der Gruppe.expr
: Zählt alle Zeilen, für die alleexprN
nichtNULL
sind.cond
: Ein optionaler boolescher Ausdruck, der die für die Aggregation verwendeten Zeilen filtert.
Gibt zurück
Ein BIGINT
.
Wenn DISTINCT
angegeben wird, gibt die Funktion die Anzahl eindeutiger Werte zurück, die nicht NULL
enthalten.
Wenn ALL
angegeben wird, gibt die Funktion die Anzahl aller Werte zurück. Im Falle von *
umfasst dies diejenigen, die NULL
enthalten.
Beispiele
> SELECT count(*) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
4
> SELECT count(1) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
4
> SELECT count(col) FROM VALUES (NULL), (5), (5), (20) AS tab(col);
3
> SELECT count(col) FILTER(WHERE col < 10)
FROM VALUES (NULL), (5), (5), (20) AS tab(col);
2
> SELECT count(DISTINCT col) FROM VALUES (NULL), (5), (5), (10) AS tab(col);
2
> SELECT count(col1, col2)
FROM VALUES (NULL, NULL), (5, NULL), (5, 1), (5, 2), (5, 2), (NULL, 2), (20, 2) AS tab(col1, col2);
4
> SELECT count(DISTINCT col1, col2)
FROM VALUES (NULL, NULL), (5, NULL), (5, 1), (5, 2), (NULL, 2), (20, 2) AS tab(col1, col2);
3