PERCENT_RANK 函数是一个 OLAP 分等级函数,为 OLAP window 中的每一行计算等级值,规格化为从 0 至 1 的范围。
计算每一 PERCENT_RANK 值为该行的 RANK 减去 1,除以该分区内行的数目减去 1。通常,越接近于 1 的值表示等级越高,而越接近 0 的值通常表示越低的等级。
此函数不用参数,但必须指定空的圆括号。如果还指定可选的 window PARTITION 子句,则在每一分区定义的行的子集之内计算等级。如果分区中有单个行,则它的 PERCENT_RANK 值为 0。
下列查询按照销售人员的销售量将他们分等级。
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