ROW_NUMBER
更新时间:2025-10-16
描述
ROW_NUMBER() 是一个窗口函数,用于为分区内的每一行分配一个唯一的序号。序号从 1 开始连续递增。与 RANK() 和 DENSE_RANK() 不同,ROW_NUMBER() 即使对于相同的值也会分配不同的序号,确保每行都有唯一的编号。
语法
SQL
1ROW_NUMBER()
返回值
返回 BIGINT 类型的序号,从 1 开始连续递增。在每个分区内,序号都是唯一的。
举例
SQL
1select x, y, row_number() over(partition by x order by y) as rank from int_t;
Text
1+-----+-----+------+
2| x | y | rank |
3| --- | --- | ---- |
4| 1 | 1 | 1 |
5| 1 | 2 | 2 |
6| 1 | 2 | 3 |
7| 2 | 1 | 1 |
8| 2 | 2 | 2 |
9| 2 | 3 | 3 |
10| 3 | 1 | 1 |
11| 3 | 1 | 2 |
12| 3 | 2 | 3 |
13+-----+-----+------+
