Compartilhar via


Função de agregação count

Aplica-se a: marca de seleção positiva SQL do Databricks marca de seleção positiva 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 os exprN não são NULL.
  • 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