approx_count_distinct
função agregar
Aplica-se a: Databricks SQL Databricks Runtime
Devolve o número estimado de valores distintos dentro expr
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 OVER
cláusula.
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