approx_count_distinct
(función de agregado)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve el número estimado de valores distintos en expr
dentro del grupo.
La implementación utiliza la versión densa del algoritmo HyperLogLog++ (HLL++), un algoritmo de estimación de cardinalidad de última generación.
Los resultados son precisos dentro de un valor predeterminado del 5 %, que se deriva del valor de la desviación estándar relativa máxima, aunque esto se puede configurar con el parámetro relativeSD
que se menciona a continuación.
Sintaxis
approx_count_distinct(expr[, relativeSD]) [FILTER ( WHERE cond ) ]
Esta función también se puede invocar como una función de ventana mediante la cláusula OVER
.
Argumentos
expr
: puede ser de cualquier tipo para el que se defina la equivalencia.relativeSD
: define la desviación estándar relativa máxima permitida.cond
: una expresión booleana opcional que filtra las filas usadas para la agregación.
Devoluciones
Valor BIGINT.
Ejemplos
> 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