cume_dist 分析窗口函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

返回某个值相对于分区中的所有值的位置。

语法

cume_dist() over_clause

自变量

返回

一个 DOUBLE。

该窗口函数的 OVER 子句必须包含 ORDER BY 子句。 如果该顺序不独一无二,则重复项会共享同一个相对较后的位置。 cume_dist() over(order by expr)rank() over(order by position) / count(*) 类似但不完全等同,因为 rank 排名窗口函数会生成最早的绝对顺序。

示例

> SELECT a, b, cume_dist() OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   0.6666666666666666
 A1 1   0.6666666666666666
 A1 2   1.0
 A2 3   1.0