PERCENT_RANK 函数

PERCENT_RANK 函数是一个 OLAP 分等级函数,为 OLAP window 中的每一行计算等级值,规格化为从 0 至 1 的范围。

计算每一 PERCENT_RANK 值为该行的 RANK 减去 1,除以该分区内行的数目减去 1。通常,越接近于 1 的值表示等级越高,而越接近 0 的值通常表示越低的等级。

语法

PERCENT_RANK 函数

用法

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

示例:PERCENT_RANK 函数

下列查询按照销售人员的销售量将他们分等级。

SELECT emp_num, sales,
        PERCENT_RANK() OVER (ORDER BY sales) AS per_rank
        FROM sales;
        
        emp_num      sales  per_rank    
        
        101      2,000         0    
        102      2,400       0.2    
        103      2,400       0.2     
        104      2,500       0.6     
        105      2,500       0.6     
        106      2,650       1.0     
1 请参阅 OLAP window 表达式的 OVER 子句