approx_percentile
агрегатная функция
Область применения: Databricks SQL Databricks Runtime
Возвращает приблизительный процентиль объекта в expr
группе.
Синтаксис
approx_percentile ( [ALL | DISTINCT] expr, percentile [, accuracy] ) [ FILTER ( WHERE cond ) ]
Эту функцию также можно вызвать как оконную функцию с помощью OVER
предложения .
Аргументы
expr
: числовое выражение.percentile
: числовой литерал от 0 до 1 или литеральный массив числовых значений, каждое из которых от 0 до 1.accuracy
: литерал INTEGER больше 0. Если точность опущена, устанавливается значение 10 000.cond
: необязательное логическое выражение, фильтрующее строки, используемые для агрегирования.
Возвращает
Агрегатная функция возвращает выражение, которое является наименьшим значением в упорядоченной группе (отсортированной от наименьшего к наибольшему), так что не больше percentile
значений expr
меньше значения или равно ему.
Если percentile
является массивом, approx_percentile
возвращает приблизительный массив процентилей в expr
.percentile
Параметр accuracy
управляет точностью аппроксимации за счет памяти.
Более высокое значение точности дает лучшую точность. 1.0/accuracy
Это относительная погрешность аппроксимации.
Эта функция является синонимом агрегатной функции percentile_approx.
Если DISTINCT
задано значение , функция работает только с уникальным набором значений expr
.
Примеры
> SELECT approx_percentile(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);
[1,1,0]
> SELECT approx_percentile(col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
6
> SELECT approx_percentile(DISTINCT col, 0.5, 100) FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
7