Fonction d’agrégation approx_count_distinct
S’applique à : Databricks SQL Databricks Runtime
Retourne le nombre estimé de valeurs distinctes dans expr
au sein du groupe.
L’implémentation utilise la version dense de l’algorithme HyperLogLog++ (HLL++), un algorithme d’estimation de cardinalité de pointe.
Les résultats sont exacts dans une valeur par défaut de 5 %, qui dérive de la valeur de l’écart type relatif maximal, bien que cela soit configurable avec le paramètre relativeSD
comme indiqué ci-dessous.
Syntaxe
approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]
Cette fonction peut également être appelée en tant que fonction de fenêtre à l’aide de la clause OVER
.
Arguments
expr
: Peut être de n’importe quel type pour lequel l’équivalence est définie.relativeSD
: Définit l’écart type relatif maximal autorisé.cond
: expression booléenne facultative qui filtre les lignes utilisées pour l’agrégation.
Retours
Une valeur BIGINT.
Exemples
> SELECT approx_count_distinct(col1) FROM VALUES (1), (1), (2), (2), (3) tab(col1);
3
> SELECT approx_count_distinct(col1) FILTER(WHERE col2 = 10)
FROM VALUES (1, 10), (1, 10), (2, 10), (2, 10), (3, 10), (1, 12) AS tab(col1, col2);
3