approx_count_distinct
funkcja agregacji
Dotyczy: Databricks SQL Databricks Runtime
Zwraca szacowaną liczbę unikatowych values w expr
w grupie.
Implementacja używa gęstej wersji algorytmu HyperLogLogLog++ (HLL++), czyli stanu algorytmu szacowania kardynalności sztuki.
Wyniki są dokładne w wartości domyślnej 5%, która pochodzi z wartości maksymalnego względnego odchylenia standardowego, chociaż można to skonfigurować za pomocą parametru relativeSD
, jak wspomniano poniżej.
Składnia
approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]
Tę funkcję można również wywołać jako funkcję window przy użyciu klauzuli OVER
.
Argumenty
-
expr
: Może być dowolnego typu, dla którego zdefiniowano równoważność. -
relativeSD
: Definiuje dozwolone maksymalne względne odchylenie standardowe. -
cond
: opcjonalne wyrażenie logiczne filtrujące wiersze używane do agregacji.
Zwraca
A BIGINT.
Przykłady
> 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