quantile
Приблизительно вычисляет квантиль числовой последовательности.
Функция использует а лгоритм reservoir sampling с размером резервуара до 8192 и случайным генератором чисел для для сэмплирования. Результат не детерминирован. Чтобы получить точную квантиль используйте функцию quantileExact.
Внутренние состояния функций quantile* не объединяются, если они используются в одном запросе. Если вам необходимо вычислить квантили нескольких уровней, используйте функцию quantiles, это повысит эффективность запроса.
Синтаксис
quantile(level)(expr)
Алиас: median.
Аргументы
- level— уровень квантили. Опционально. Константное значение с плавающей запятой от 0 до 1. Мы рекомендуем использовать значение- levelиз диапазона- [0.01, 0.99]. Значение по умолчанию: 0.5. При- level=0.5функция вычисляет медиану.
- expr— выражение, зависящее от значений столбцов, возвращающее данные числовых типов или типов Date, DateTime.
Возвращаемое значение
- Приблизительный квантиль заданного уровня.
Тип:
- Float64 для входных данных числового типа.
- Date, если входные значения имеют тип Date.
- DateTime, если вх одные значения имеют тип DateTime.
Пример
Входная таблица:
┌─val─┐
│   1 │
│   1 │
│   2 │
│   3 │
└─────┘
Запрос:
SELECT quantile(val) FROM t
Результат:
┌─quantile(val)─┐
│           1.5 │
└───────────────┘
Смотрите также