Partager via


Fonction d’agrégation count

S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime

Renvoie le nombre de lignes récupérées dans un groupe.

Syntaxe

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

Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER.

Arguments

  • * : compte toutes les lignes du groupe.
  • expr : compte toutes les lignes pour lesquelles les exprN ne sont pas toutes NULL.
  • cond : expression booléenne facultative qui filtre les lignes utilisées pour l’agrégation.

Retours

BIGINT.

Si DISTINCT est spécifié, la fonction retourne le nombre de valeurs uniques qui ne contiennent pas NULL.

Si ALL est spécifié, la fonction retourne le nombre de toutes les valeurs. Dans le cas *, cela comprend ceux qui contiennent NULL.

Exemples

> 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