Freigeben über


count-Aggregatfunktion

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert 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 alle exprN nicht NULL 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