翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
CUME_DIST
返回某个值在分区内的累积分布。计算方式为 row-number / partition-rows,其中 row-number 是 ROW_NUMBER() 为组中最后一个同级行返回的值,partition-rows 是分区中的行数。
另请参阅:
[SELECT] [PERCENT_RANK] [RANK]
语法
SELECT CUME_DIST() OVER ([PARTITION BY column] ORDER BY column [ASC|DESC])
FROM <multipartIdentifier>;
参数
PARTITION BY column
可选。将结果集划分为多个分区。CUME_DIST 函数分别应用于每个分区。
ORDER BY column 指定计算累积分布的顺序。
返回值
返回一个介于 0.0 和 1.0 之间的浮点数,表示累积分布值。
示例
计算贡献者的累积分布
-- Calculate percentile ranking of contributors
SELECT
login,
contributions,
PERCENT_RANK() OVER (ORDER BY contributions) as percentile,
CUME_DIST() OVER (ORDER BY contributions) as cumulative_dist
FROM github.repos.contributors
WHERE owner = 'stackql'
AND repo = 'stackql'
ORDER BY contributions DESC;
提示
CUME_DIST 返回其值小于或等于当前行的值的行所占的比例。值为 0.75 表示 75% 的行的值小于或等于当前行的值。
有关更多信息,请参阅 https://sqlite.org/windowfunctions.html#built-in_window_functions。