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

quantileExactExclusive

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

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

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

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

Синтаксис

quantileExactExclusive(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 quantileExactExclusive(0.6)(x) FROM (SELECT number AS x FROM num);

Результат:

┌─quantileExactExclusive(0.6)(x)─┐
│                          599.6 │
└────────────────────────────────┘