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

quantileTDigest

quantileTDigest

Введена в версии: v1.1

Вычисляет приближенный квантиль последовательности числовых данных с помощью алгоритма 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* или Decimal* или Date или DateTime

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

Приближенный квантиль указанного уровня. Float64 или Date или DateTime

Примеры

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

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

См. также