Перейти к основному содержанию

uniqExact

Добавленный в: v1.1.0 Вычисляет точное количество различных значений аргументов.
Функция uniqExact использует больше памяти, чем uniq, поскольку размер состояния растет без ограничений по мере увеличения числа различных значений. Используйте функцию uniqExact, если вам необходим абсолютно точный результат. В противном случае используйте функцию uniq.
Синтаксис
uniqExact(x[, ...])
Аргументы Возвращаемое значение Возвращает точное количество различных значений аргументов в типе UInt64. UInt64 Примеры Базовое использование
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 │
└─────────────────────────┘
Несколько аргументов
Query
SELECT uniqExact(id, category) as exact_unique_combinations
FROM example_data;
Response
┌─exact_unique_combinations─┐
│                         6 │
└───────────────────────────┘
См. также
Последнее изменение 10 июня 2026 г.