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

quantileExactInclusive

Точно вычисляет квантиль числовой последовательности данных.

Чтобы получить точное значение, все переданные значения объединяются в массив, который затем частично сортируется. Поэтому функция потребляет память O(n), где n — количество переданных значений. Однако для небольшого числа значений функция очень эффективна.

Эта функция эквивалентна функции Excel PERCENTILE.INC (тип R7).

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

Синтаксис

quantileExactInclusive(level)(expr)

Аргументы

  • expr — выражение над значениями столбца, которое возвращает числовые типы данных, Date или DateTime.

Параметры

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

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

  • Квантиль указанного уровня.

Тип:

  • Float64 для числового типа данных на входе.
  • Date, если входные значения имеют тип Date.
  • DateTime, если входные значения имеют тип DateTime.

Пример

Запрос:

CREATE TABLE num AS numbers(1000);

SELECT quantileExactInclusive(0.6)(x) FROM (SELECT number AS x FROM num);

Результат:

┌─quantileExactInclusive(0.6)(x)─┐
│                          599.4 │
└────────────────────────────────┘