percentile_disc
聚合函数
适用于: Databricks SQL Databricks Runtime 11.3 LTS 及更高版本
使用离散分布模型返回与提供的 sortKey
的 percentile
对应的值。
语法
percentile_disc ( percentile )
WITHIN GROUP (ORDER BY sortKey [ASC | DESC] )
还可以使用 OVER
子句将此函数作为窗口函数调用。
参数
percentile
:介于 0 和 1 之间的数值文本,或每个数值都介于 0 和 1 之间的数值文本的文本数组。sortKey
:用于计算百分位数的数值表达式。ASC
或DESC
:(可选)指定是使用升序还是降序计算百分位数。 默认为ASC
。
返回
如果 percentile
为数值,则为 DOUBLE;如果 percentile
为数组,则为 DOUBLE 的数组。
聚合函数返回与 sortKeys
组中 percentile
匹配的 sortKey
值。
示例
-- 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