percentile_cont 聚合函数

适用于: 勾选“是” Databricks SQL 勾选“是” Databricks Runtime 10.4 LTS 及更高版本

使用连续分布模型返回与提供的 sortKeypercentile 对应的值。

语法

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

还可以使用 OVER 子句将此函数作为窗口函数调用。

参数

  • percentile:介于 0 和 1 之间的数值文本,或每个数值都介于 0 和 1 之间的数值文本的文本数组。
  • sortKey:用于计算百分位数的数值表达式。
  • ASCDESC:(可选)指定是使用升序还是降序计算百分位数。 默认为 ASC

返回

如果 percentile 为数值,则为 DOUBLE;如果 percentile 为数组,则为 DOUBLE 的数组。

聚合函数返回 sortKey 组内的内插百分位数。

示例

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

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