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

quantileTDigestWeighted

Добавленный в: v20.1.0 Вычисляет приблизительный квантиль числовой последовательности с помощью алгоритма t-digest. Функция учитывает вес каждого элемента последовательности. Максимальная ошибка составляет 1%. Потребление памяти составляет log(n), где n — количество значений. Производительность этой функции ниже, чем у quantile или quantileTiming. С точки зрения соотношения размера состояния и точности эта функция значительно лучше, чем quantile. Результат зависит от порядка выполнения запроса и является недетерминированным. При использовании нескольких функций quantile* с разными уровнями в одном запросе их внутренние состояния не объединяются (то есть запрос работает менее эффективно, чем мог бы). В этом случае используйте функцию quantiles.
Использовать quantileTDigestWeighted не рекомендуется для очень маленьких наборов данных, так как это может приводить к значительной ошибке. В этом случае рассмотрите возможность использования quantileTDigest.
Синтаксис
quantileTDigestWeighted(level)(expr, weight)
Псевдонимы: medianTDigestWeighted Параметры
  • level — Необязательный параметр. Уровень квантиля. Константное число с плавающей точкой в диапазоне от 0 до 1. Рекомендуется использовать значение level в диапазоне [0.01, 0.99]. Значение по умолчанию: 0.5. При level=0.5 функция вычисляет медиану. Float*
Аргументы
  • expr — Выражение над значениями столбца, результатом которого являются числовые типы данных, Date или DateTime. (U)Int* или Float* или Decimal* или Date или DateTime
  • weight — Столбец с весами элементов последовательности. Вес — это количество вхождений значения. UInt*
Возвращаемое значение Приблизительный квантиль указанного уровня. Float64 или Date или DateTime Примеры Вычисление взвешенного квантиля с помощью t-digest
Query
SELECT quantileTDigestWeighted(number, 1) FROM numbers(10);
Response
┌─quantileTDigestWeighted(number, 1)─┐
│                                4.5 │
└────────────────────────────────────┘
См. также
Последнее изменение 10 июня 2026 г.