云数据库OceanBase入门教程 OceanBase PERCENT_RANK

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 3

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 |
+-------+------+------+