Агрегатная функция 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]