count funkcja agregacji

Dotyczy:check marked yes Databricks SQL check marked yes Databricks Runtime

Zwraca liczbę pobranych wierszy w grupie.

Składnia

count ( [DISTINCT | ALL] * ) [FILTER ( WHERE cond ) ]
count ( [DISTINCT | ALL] expr [, ...] ) [FILTER ( WHERE cond ) ]

Tę funkcję można również wywołać jako funkcję okna przy użyciu klauzuli OVER .

Argumenty

  • *: zlicza wszystkie wiersze w grupie.
  • expr: zlicza wszystkie wiersze, dla których wszystkie exprN nie NULLsą .
  • cond: opcjonalne wyrażenie logiczne filtrujące wiersze używane do agregacji.

Powroty

Klasa BIGINT.

Jeśli DISTINCT zostanie określona, funkcja zwraca liczbę unikatowych wartości, które nie zawierają NULL.

Jeśli ALL zostanie określona, funkcja zwraca liczbę wszystkich wartości. W przypadku * tych elementów zawiera NULLwartość .

Przykłady

> 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