数据仓库服务 GAUSSDB(DWS)-窗口函数:RANK()

时间:2024-04-18 16:25:02

RANK()

描述:RANK函数为各组内值生成跳跃排序序号,其中相同的值具有相同序号,但相同值占用多个编号。

返回值类型:BIGINT

示例:

给定表score(id, classid, score),每行表示学生id,所在班级id以及考试成绩。

使用RANK函数对学生成绩进行排序:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
CREATE TABLE score(id int,classid int,score int);
INSERT INTO score VALUES(1,1,95),(2,2,95),(3,2,85),(4,1,70),(5,2,88),(6,1,70);

SELECT id, classid, score,RANK() OVER(ORDER BY score DESC) FROM score;
 id | classid | score | rank
----+---------+-------+------
  1 |       1 |    95 |    1
  2 |       2 |    95 |    1
  6 |       1 |    70 |    5
  4 |       1 |    70 |    5
  5 |       2 |    88 |    3
  3 |       2 |    85 |    4
(6 rows)
support.huaweicloud.com/sqlreference-830-dws/dws_06_0047.html