approx_count_distinct
função agregar
Aplica-se a: Databricks SQL
Databricks Runtime
Devolve o número estimado de valores distintos em expr
dentro do grupo.
A implementação usa a versão densa do algoritmo HyperLogLog++ (HLL++), um algoritmo de estimativa de cardinalidade de última geração.
Os resultados são precisos dentro de um valor padrão de 5%, que deriva do valor do desvio padrão relativo máximo, embora isso seja configurável com o relativeSD
parâmetro mencionado abaixo.
Sintaxe
approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]
Esta função também pode ser invocada como uma função de janela usando a cláusula OVER
.
Argumentos
-
expr
: Pode ser de qualquer tipo para o qual a equivalência é definida. -
relativeSD
: Define o desvio-padrão relativo máximo permitido. -
cond
: Uma expressão booleana opcional filtrando as linhas usadas para agregação.
Devoluções
UM BIGINT.
Exemplos
> 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