Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

quantilesExactLow

quantilesExactLow

Добавленный в: v20.8.0

Точно вычисляет несколько квантилей числовой последовательности данных для разных уровней одновременно. Для чётного числа элементов на уровне 0.5 возвращает меньшее из двух средних значений.

Эта функция эквивалентна quantileExactLow, но позволяет вычислять несколько уровней квантилей за один проход, что эффективнее, чем вызывать отдельные функции квантилей.

Синтаксис

quantilesExactLow(level1, level2, ...)(expr)

Параметры

  • level — Уровни квантилей. Одно или несколько константных чисел с плавающей запятой от 0 до 1. Рекомендуется использовать значения level в диапазоне [0.01, 0.99]. Float*

Аргументы

  • expr — Выражение над значениями столбца, возвращающее значения числовых типов данных, Date, DateTime или DateTime64. (U)Int* или Float* или Decimal* или Date или DateTime или DateTime64

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

Массив квантилей указанных уровней в том же порядке, в котором эти уровни были заданы. Для числовых типов данных формат вывода соответствует входному формату. Array((U)Int*) или Array(Float*) или Array(Decimal*) или Array(Date) или Array(DateTime) или Array(DateTime64)

Примеры

Вычисление нескольких точных нижних квантилей

SELECT quantilesExactLow(0.25, 0.5, 0.75)(number) FROM numbers(10)
┌─quantilesExactLow(0.25, 0.5, 0.75)(number)─┐
│ [2,4,7]                                    │
└────────────────────────────────────────────┘
Navigation