Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantile

quantile

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

Вычисляет приблизительный quantile для числовой последовательности.

Эта функция использует резервуарное сэмплирование с резервуаром размером до 8192 и генератором случайных чисел для сэмплирования. Результат недетерминирован. Чтобы получить точную quantile, используйте функцию quantileExact.

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

Обратите внимание, что для пустой числовой последовательности quantile возвращает NaN, а варианты quantile* — либо NaN, либо значение по умолчанию для типа последовательности, в зависимости от варианта.

Синтаксис

quantile(level)(expr)

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

Параметры

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

Аргументы

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

Приближённый quantile указанного уровня. Для числовых аргументов возвращается Float64, а для аргументов Decimal, Date, DateTime и DateTime64 сохраняется исходный формат. Float64 или Decimal* или Date или DateTime или DateTime64

Примеры

Вычисление quantile

CREATE TABLE t (val UInt32) ENGINE = Memory;
INSERT INTO t VALUES (1), (1), (2), (3);

SELECT quantile(val) FROM t;
┌─quantile(val)─┐
│           1.5 │
└───────────────┘

См. также

Navigation