OceanBase PERCENT_RANK
PERCENT_RANK
函数类似于 CUME_DIST
(累积分布)函数。 它的返回值范围为 0~1。任何集合中的第一行的 PERCENT_RANK
函数为 0,返回值为 NUMBER
。
语法
PERCENT_RANK( ) OVER ([query_partition_clause] order_by_clause)
参数
参数 |
说明 |
---|---|
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 |
+-------+------+------+