Função de agregação count
Aplica-se a: SQL do Databricks Runtime do Databricks
Retorna o número de linhas recuperadas em um grupo.
Sintaxe
count ( [DISTINCT | ALL] * ) [FILTER ( WHERE cond ) ]
count ( [DISTINCT | ALL] expr [, ...] ) [FILTER ( WHERE cond ) ]
Essa função também pode ser invocada como uma função de janela usando a cláusula OVER
.
Argumentos
*
: conta todas as linhas no grupo.expr
: conta todas as linhas para as quais todos osexprN
não sãoNULL
.cond
: uma expressão booliana opcional que filtra as linhas usadas para agregação.
Retornos
Um BIGINT
.
Se DISTINCT
for especificado, a função retornará o número de valores exclusivos que não contêm NULL
.
Se ALL
for especificado, a função retornará o número de todos os valores. No caso de *
, isso inclui aqueles que contêm NULL
.
Exemplos
> 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