Поделиться через


Агрегатная функция percentile_disc

Область применения: флажок Databricks SQL флажок Databricks Runtime 11.3 LTS и выше

Возвращает значение, соответствующее объекту percentile из предоставленного объекта sortKey, с использованием модели дискретного распределения.

Синтаксис

percentile_disc ( percentile )
       WITHIN GROUP (ORDER BY sortKey [ASC | DESC] )

Эту функцию также можно вызвать как функцию окна с помощью OVER предложения.

Аргументы

  • percentile: числовой литерал в диапазоне от 0 до 1 или литеральный массив числовых литералов, каждое из которых находится в диапазоне от 0 до 1.
  • sortKey: числовое выражение, для которого будет вычислено значение процентиля.
  • ASC или DESC : необязательный параметр, который определяет направление для вычисления процентиля: по возрастанию или по убыванию. Значение по умолчанию — ASC.

Возвраты

DOUBLE, если percentile является числовым, или ARRAY, содержащий значения DOUBLE (если percentile является массивом).

Агрегатная функция возвращает значение sortKey, соответствующее percentile в группе sortKeys.

Примеры

-- Return the median, 40%-ile and 10%-ile.
> SELECT percentile_disc(array(0.5, 0.4, 0.1)) WITHIN GROUP (ORDER BY col)
    FROM VALUES (0), (1), (2), (10) AS tab(col);
 [1, 1, 0]

-- Return the interpolated median.
> SELECT percentile_disc(0.50) WITHIN GROUP (ORDER BY col)
    FROM VALUES (0), (6), (6), (7), (9), (10) AS tab(col);
 6