Агрегатная функция count
Область применения: Databricks SQL Databricks Runtime
Возвращает число извлеченных строк в группе.
Синтаксис
count ( [DISTINCT | ALL] * ) [FILTER ( WHERE cond ) ]
count ( [DISTINCT | ALL] expr [, ...] ) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию window с помощью предложения OVER
.
Аргументы
-
*
: подсчитывает все строки в группе. -
expr
: подсчитывает все строки, для которых всеexprN
неNULL
являются. -
cond
: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
Возвраты
BIGINT
.
Если указан DISTINCT
, функция возвращает количество уникальных values, которые не содержат NULL
.
Если указан ALL
, функция возвращает число всех values. В случае *
этого включает в себя содержащиеся NULL
.
Примеры
> 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