Агрегатная функция percentile
Область применения: Databricks SQL Databricks Runtime
Возвращает точное значение процентиля expr
в указанном percentage
в группе.
Синтаксис
percentile ( [ALL | DISTINCT] expr, percentage [, frequency] ) [FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как функцию окна с помощью OVER
предложения.
Аргументы
expr
: выражение, значением которого является число.percentage
: числовое выражение от 0 до 1 или МАССИВ числовых выражений, каждое из которых находится в диапазоне от 0 до 1.frequency
: необязательный литерал целого числа больше 0.cond
: необязательное логическое выражение для фильтрации строк, используемых для агрегирования.
Возвраты
DOUBLE, если percentage
является числовым, или ARRAY, содержащий значения DOUBLE (если percentage
является массивом).
Периодичность описывает количество раз обязательного подсчета expr
. Частота 10 для определенного значения эквивалентна этому значению, которое появляется в окне 10 раз с частотой 1.
По умолчанию используется период 1.
Если задано значение DISTINCT
, функция работает только с уникальным набором значений expr
.
Примеры
> SELECT percentile(col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
6.0
> SELECT percentile(DISTINCT col, 0.3) FROM VALUES (0), (10), (10) AS tab(col);
3.0
> SELECT percentile(col, 0.3, freq) FROM VALUES (0, 1), (10, 2) AS tab(col, freq);
6.0
> SELECT percentile(col, array(0.25, 0.75)) FROM VALUES (0), (10) AS tab(col);
[2.5,7.5]