Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

uniqTheta

uniqTheta

Добавленный в: v21.6.0

Вычисляет приблизительное количество различных значений аргумента, используя Theta Sketch Framework.

Подробности реализации

Эта функция вычисляет хеш для всех параметров агрегатной функции, а затем использует его в дальнейших вычислениях. Для приблизительной оценки количества различных значений аргумента используется алгоритм KMV.

Используется 64-битный скетч 4096(2^12). Размер состояния составляет около 41 КБ.

Относительная погрешность составляет 3.125% (при доверительной вероятности 95%), подробнее см. в таблице относительной погрешности.

Синтаксис

uniqTheta(x[, ...])

Аргументы

Возвращаемое значение

Возвращает число типа UInt64, представляющее приблизительное количество различных значений аргумента. UInt64

Примеры

базовое использование

CREATE TABLE example_theta
(
    id UInt32,
    category String
)
ENGINE = Memory;

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

SELECT uniqTheta(category) as theta_unique_categories
FROM example_theta;
┌─theta_unique_categories─┐
│                       3 │
└─────────────────────────┘

См. также

Navigation