row_number函数
row_number函数是SQL中的一个内置函数,它可以用来为查询结果编号,它可以根据查询结果中的某列或某几列对查询结果进行排序,按照排序后的结果为查询结果编号。
使用方法
row_number函数的语法如下:
row_number() over (partition by 字段 order by 字段) as 编号
其中:
- row_number():表示使用row_number函数;
- over:表示使用row_number函数的范围;
- partition by:表示根据某字段或某几字段进行分组;
- order by:表示根据某字段或某几字段进行排序;
- as:表示给编号起别名;
- 编号:表示给查询结果编号,从1开始。
下面以一个实例来说明row_number函数的使用方法:
select row_number() over (partition by 年级 order by 成绩) as 编号, 姓名, 年级, 成绩 from 成绩表
上面的SQL语句表示根据成绩表中的年级字段进行分组,根据成绩字段进行排序,为查询结果编号,编号从1开始,查询结果如下:
编号 姓名 年级 成绩 1 张三 一年级 90 2 李四 一年级 80 3 王五 一年级 70 4 赵六 二年级 95 5 孙七 二年级 85 6 周八 二年级 75
从上面的查询结果可以看出,row_number函数可以根据查询结果中的某列或某几列对查询结果进行排序,按照排序后的结果为查询结果编号,从1开始。