全部产品

PERCENT_RANK

PERCENT_RANK 函数类似于 CUME_DIST(累积分布)函数。 它的返回值范围为 0~1。任何集合中的第一行的 PERCENT_RANK 函数为 0,返回值为 NUMBER

语法

PERCENT_RANK( ) OVER ([query_partition_clause] order_by_clause)

参数

参数

说明

OVER

使用 OVER 子句定义窗口进行计算。

返回类型

返回数值数据类型。

示例

根据成绩将同学分成四个等级,为学生评奖。建表 course_rank,并向里面插入数据,执行以下语句:

CREATE TABLE course_rank
(
  name VARCHAR(8),
    id NUMBER
);
INSERT INTO course_rank VALUES('Linda',1);
INSERT INTO course_rank VALUES('Tan',2);
INSERT INTO course_rank VALUES('Tom',3);
INSERT INTO course_rank VALUES('John',4);
INSERT INTO course_rank VALUES('Mery',5);
COMMIT;

执行以下语句:

SELECT name, id ,percent_rank() OVER (ORDER BY id) AS pr1 FROM course_rank;

查询结果如下:

+-------+------+------+
| NAME  | ID   | PR1  |
+-------+------+------+
| Linda |    1 |    0 |
| Tan   |    2 |  .25 |
| Tom   |    3 |   .5 |
| John  |    4 |  .75 |
| Mery  |    5 |    1 |
+-------+------+------+