21.5. Агрегатные функции #

approx_count_distinct(expression) returns BIGINT #

Приближённо вычисляет количество уникальных элементов с использованием алгоритма HyperLogLog. Это значительно быстрее, чем COUNT(DISTINCT ...) для больших наборов данных, при этом погрешность остаётся небольшой.

Пример 21.19.

-- Приблизительное количество уникальных идентификаторов клиентов
SELECT approx_count_distinct(customer_id) FROM orders;

-- Сравнить с точным количеством
SELECT
    approx_count_distinct(customer_id) AS approx_distinct,
    COUNT(DISTINCT customer_id) AS exact_distinct
FROM orders;

Обязательные параметры:

Имя

Тип

Описание

expression

any

Выражение, для которого необходимо считать уникальные значения