Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantileTDigest

quantileTDigest

Добавленный в: v1.1.0

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

Потребление памяти составляет log(n), где n — количество значений. Результат зависит от порядка выполнения запроса и не является детерминированным.

Эта функция работает медленнее, чем quantile или quantileTiming. С точки зрения соотношения размера состояния и точности эта функция значительно лучше, чем quantile.

При использовании в запросе нескольких функций quantile* с разными уровнями внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы). В этом случае используйте функцию quantiles.

Синтаксис

quantileTDigest(level)(expr)

Псевдонимы: medianTDigest

Параметры

  • level — Необязательный параметр. Уровень квантиля. Константное число с плавающей точкой от 0 до 1. Рекомендуется использовать значение level из диапазона [0.01, 0.99]. Значение по умолчанию: 0.5. При level=0.5 функция вычисляет медиану. Float*

Аргументы

  • expr — Выражение над значениями столбца, возвращающее числовой тип данных, Date или DateTime. (U)Int* или Float* или Date или DateTime

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

Приближённый квантиль указанного уровня. Для входных данных Date и DateTime выходной формат соответствует входному формату. Float32 или Date или DateTime

Примеры

Вычисление квантиля с использованием t-digest

SELECT quantileTDigest(number) FROM numbers(10);
┌─quantileTDigest(number)─┐
│                       4 │
└─────────────────────────┘

См. также

Navigation