SQL笔记-ROW_NUMBER() OVER()函数
2018-01-22 14:52
357 查看
ROW_NUMBER() OVER()函数用来为每条记录返回一个行号,可以用来对记录进行排序并返回该序号,序号从1开始排序。
这里的over()是聚集函数,可以给记录进行分组、排序;row_number()不能单独使用,必须搭配over()才能使用,否则会报错。
这里的over()是聚集函数,可以给记录进行分组、排序;row_number()不能单独使用,必须搭配over()才能使用,否则会报错。
简单地返回的行号
给student的每条记录进行排序并返回序号 select *, row_number() over() from student;
num | class | name | row_number |
---|---|---|---|
1000 | 1 | 小明 | 1 |
1001 | 2 | 小白 | 2 |
1002 | 2 | 小黑 | 3 |
给返回的行号起个别名
select *, row_number() over() rank from student;
num | class | name | rank |
---|---|---|---|
1000 | 1 | 小明 | 1 |
1001 | 2 | 小白 | 2 |
1002 | 2 | 小黑 | 3 |
配合partition by/order by
给每个班的学生按照学号递减的顺序返回行号 select *, row_number() over(partition by class order by num desc) rank from student;
num | class | name | rank |
---|---|---|---|
1000 | 1 | 小明 | 1 |
1002 | 2 | 小黑 | 1 |
1001 | 2 | 小白 | 2 |
相关文章推荐
- SQL ROW_NUMBER() OVER函数的基本用法用法
- SQL-OVER与四种排名函数:ROW_NUMBER(),RANK(),DENSE_RANK(),NTILE()
- mysql、MS SQL关于分页的sql查询语句 limit 和row_number() OVER函数
- SQL 函数之 row_number() over()
- (小笔记)(sql)row_number() over (partition by col1 order by col2)
- sql 排序 ROW_NUMBER() OVER 函数
- sql 分组后排名,ROW_NUMBER()OVER()函数的使用
- mysql、MS SQL关于分页的sql查询语句 limit 和row_number() OVER函数
- sql开窗函数 row_number () over(order by id )
- sql中函数over()和row_number()的用法
- sql 用ROW_NUMBER() over函数简单分页
- sql 排名函数 rank() , row_number() , dense_rank() over
- SQL一对多取子表最新记录的所有字段(ROW_NUMBER()OVER()函数的应用)
- SQL中分析函数ROW_NUMBER() OVER(PARTITION BY GRADEOBJECTID ORDER BY BG.GRADEDATE DESC)的用法!!!
- sql "ROW_NUMBER() OVER()"函数,编号,分组,分页
- SQL关于分页的sql查询语句 limit 和row_number() OVER函数
- SQL ROW_NUMBER() OVER函数的基本用法用法
- DB2中的ROW_NUMBER() OVER()函数用法
- oracle中常用函数ROW_NUMBER() OVER()(分析函数)
- ASP.NET中的分页SQL语句[利用SQL2005的Row_Number()函数]