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 │
└───────────────┘

Смотрите также

Оригинальная статья

Rating: 4 - 1 votes

Was this content helpful?
★★★★☆