ROWNUMBER¶
说明¶
排序已排序行组,从1开始为每一行分配一个唯一的数字。
返回值¶
行的编号。
示例¶
示例1: 为记录编号
-- 清理环境
DROP TABLE tab1 CASCADE;
-- 创建表并插入数据
create table tab1(id INT, a INT, b INT);
INSERT INTO tab1 VALUES(1, 21, 55);
INSERT INTO tab1 VALUES(2, 21, 56);
INSERT INTO tab1 VALUES(3, 21, 48);
INSERT INTO tab1 VALUES(4, 22, 70);
INSERT INTO tab1 VALUES(5, 22, 65);
INSERT INTO tab1 VALUES(6, 11, 40);
INSERT INTO tab1 VALUES(7, 11, 43);
INSERT INTO tab1 VALUES(8, 31, 77);
INSERT INTO tab1 VALUES(9, 32, 80);
SELECT * FROM tab1 ORDER BY id;
ID(int) |A(int) |B(int) |
-------------------------------------
1 |21 |55 |
-------------------------------------
2 |21 |56 |
-------------------------------------
3 |21 |48 |
-------------------------------------
4 |22 |70 |
-------------------------------------
5 |22 |65 |
-------------------------------------
6 |11 |40 |
-------------------------------------
7 |11 |43 |
-------------------------------------
8 |31 |77 |
-------------------------------------
9 |32 |80 |
总数目:9
-- 为记录编号
SELECT id, a, b, ROWNUMBER() OVER () FROM tab1 ORDER BY id;
ID(int) |A(int) |B(int) |ROWNUMBER(bigint) |
------------------------------------------------------------
1 |21 |55 |1 |
------------------------------------------------------------
2 |21 |56 |2 |
------------------------------------------------------------
3 |21 |48 |3 |
------------------------------------------------------------
4 |22 |70 |4 |
------------------------------------------------------------
5 |22 |65 |5 |
------------------------------------------------------------
6 |11 |40 |6 |
------------------------------------------------------------
7 |11 |43 |7 |
------------------------------------------------------------
8 |31 |77 |8 |
------------------------------------------------------------
9 |32 |80 |9 |
总数目:9
-- 删除表
DROP TABLE tab1;