Pular para o conteúdo principal

uniqHLL12

Introduzido em: v1.1.0 Calcula o número aproximado de valores distintos do argumento usando o algoritmo HyperLogLog.
Não recomendamos usar esta função. Na maioria dos casos, use a função uniq ou uniqCombined.
Esta função calcula um hash para todos os parâmetros na agregação e depois o usa nos cálculos. Ela usa o algoritmo HyperLogLog para aproximar o número de valores distintos do argumento.São usadas 2^12 células de 5 bits. O tamanho do estado é ligeiramente maior que 2,5 KB. O resultado não é muito preciso (até ~10% de erro) para conjuntos de dados pequenos (<10K elementos). No entanto, o resultado é bastante preciso para conjuntos de dados com alta cardinalidade (10K-100M), com erro máximo de ~1,6%. A partir de 100M, o erro de estimativa aumenta, e a função retornará resultados muito imprecisos para conjuntos de dados com cardinalidade extremamente alta (1B+ elementos).Fornece um resultado determinístico (não depende da ordem de processamento da consulta).
Sintaxe
uniqHLL12(x[, ...])
Argumentos Valor retornado Retorna um número do tipo UInt64 que representa a quantidade aproximada de valores de argumento distintos. UInt64 Exemplos Uso básico
Query
CREATE TABLE example_hll
(
    id UInt32,
    category String
)
ENGINE = Memory;

INSERT INTO example_hll VALUES
(1, 'A'), (2, 'B'), (3, 'A'), (4, 'C'), (5, 'B'), (6, 'A');

SELECT uniqHLL12(category) AS hll_unique_categories
FROM example_hll;
Response
┌─hll_unique_categories─┐
│                     3 │
└───────────────────────┘
Veja também
Última modificação em 10 de junho de 2026