ROW_NUMBER() OVER使用
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
作用: 从1开始,为按组排序的每条记录添加一个序列号 函数只能用于select和order by子句中 不能用在where子句
验证测试 不分组排序
建表
create table test (
num int comment '字段注释'
)
comment '表名注释'
insert into test values (9),(5),(6),(100),(1);
原表数据
ROW_NUMBER() OVER不分组
select num,row_number() over(order by num) from test ;
验证测试 分组排序
建表
create table Test2 (
num int comment '字段注释' ,
DeptID int comment '部门ID'
)
comment '表名注释'
insert into Test2 values (9,10),(5,10),(6,20),(100,20),(1,30),(11,30),(8,30);
原表数据
ROW_NUMBER() OVER不分组
select *,row_number() over(partition by DeptID order by num ) from Test2;