Pular para o conteúdo principal

uniqExact

Introduzido em: v1.1.0 Calcula o número exato de valores de argumento distintos.
A função uniqExact usa mais memória do que uniq, porque o tamanho do estado cresce sem limite à medida que o número de valores distintos aumenta. Use a função uniqExact se você realmente precisar de um resultado exato. Caso contrário, use a função uniq.
Sintaxe
uniqExact(x[, ...])
Argumentos Valor retornado Retorna o número exato de valores de argumento distintos como um UInt64. UInt64 Exemplos Uso básico
Query
CREATE TABLE example_data
(
    id UInt32,
    category String
)
ENGINE = Memory;

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

SELECT uniqExact(category) as exact_unique_categories
FROM example_data;
Response
┌─exact_unique_categories─┐
│                       3 │
└─────────────────────────┘
Vários argumentos
Query
SELECT uniqExact(id, category) as exact_unique_combinations
FROM example_data;
Response
┌─exact_unique_combinations─┐
│                         6 │
└───────────────────────────┘
Veja também
Última modificação em 10 de junho de 2026