Udostępnij za pośrednictwem


approx_count_distinct funkcja agregacji

Dotyczy:zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Zwraca szacowaną liczbę unikatowych wartości w expr 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ę okna 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