CUME_DIST 函数

CUME_DIST 函数是一个 OLAP 分等级函数,计算累计分布作为每一行的百分比等级。该等级表示为取值范围从 0 至 1 的实际值小数。

语法

CUME_DIST 函数

用法

CUME_DIST 函数计算等级低于或等于当前的行,包括当前行的行的数目,除以该分区中行的总数。越接近 1 的值表示越高的等级,而越接近 0 的值表示越低的等级。

此函数不用参数,但必须指定空的圆括号。如果还指定可选的 window PARTITION 子句,则在每一分区定义的行的子集之内计算等级。如果在该分区中有单个行,则它的 CUME_DIST 值为 1。

示例:CUME_DIST 函数

下列查询展示每个销售人员的销售量的累计分布。

SELECT emp_num, sales,
        CUME_DIST() OVER (ORDER BY sales) AS cume_dist
        FROM sales;
        
        emp_num      sales     cume_dist
        
        101      2,000    0.166666667
        102      2,400    0.500000000
        103      2,400    0.500000000
        104      2,500    0.833333333
        105      2,500    0.833333333
        106      2,650    1.000000000
1 请参阅 OLAP window 表达式的 OVER 子句