Partilhar via


approx_count_distinct função agregar

Aplica-se a: Marque Sim Databricks SQL Marque Sim 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