数据库row_number()的简单用法
来源:互联网 发布:淘宝美工助理激活卡号 编辑:程序博客网 时间:2024/06/05 17:41
row_number(),简单来说就是每一条记录返回数字。
现在,oracle数据库以及sql server数据库都支持了row_number() over ()的用法,具体用法也很相似。
下面通过一个简单的例子来说一下row_number()的简单用法。
我们创建一个表结构以及表数据(student_info)如下所示
学号 姓名 班级 入学班级名次
001 李四 1 4
002 张三 2 1
003 王五 1 3
004 赵六 2 4
005 李毅 1 2
006 钱七 2 3
007 张八 1 1
008 李九 2 2
例1:根据学号的顺序生成row_number
select 学号,姓名,班级,入学班级名次,row_number() over(order by 学号) number from student_info.
结果:
学号 姓名 班级 入学班级名次 number
001 李四 1 4 1
002 张三 2 1 2
003 王五 1 3 3
004 赵六 2 4 4
005 李毅 1 2 5
006 钱七 2 3 6
007 张八 1 1 7
008 李九 2 2 8
例2:在班级内根据学号大小生成row_number,这样生成的row_number将根据班级分组,然后再班级里面排序生成,到另一个分组里面,初值将重新变为1,是不是跟group by语句的用法很相似。
select 学号,姓名,班级,入学班级名次,row_number() over(partition by 班级 order by 入学班级名次) number from student_info.
学号 姓名 班级 入学班级名次 number
007 张八 1 1 1
005 李毅 1 2 2
003 王五 1 3 3
001 李四 1 4 4
002 张三 2 1 1
008 李九 2 2 2
006 钱七 2 3 3
004 赵六 2 4 4
当然,over条件里面的 partition by以及order by语句可以根据多列分组,多列排序,与查询语句中的group by以及order by语句类似。
- 数据库row_number()的简单用法
- ROW_NUMBER() OVER函数的简单用法
- [数据库]ROW_NUMBER() OVER函数的基本用法
- SQL Server 2005 中 ROW_NUMBER() 函数的简单用法
- ROW_NUMBER()的用法
- ROW_NUMBER的用法
- sql row_number的用法
- ROW_NUMBER()的用法
- ROW_NUMBER()函数的用法
- SQL ROW_NUMBER() 的用法
- ROW_NUMBER()的用法
- ROW_NUMBER() 简单的分页
- ROW_NUMBER、RANK、DENSE_RANK的用法
- ROW_NUMBER、RANK、DENSE_RANK的用法
- row_number() over()的一个用法
- ROW_NUMBER、RANK、DENSE_RANK的用法
- ROW_NUMBER() OVER 的基本用法
- 关于row_number函数的用法
- 算法总结
- 字典树详解----串查找、排序、公共前缀之杀手锏
- JQuery操作单选,复选,下拉框
- c++ 打印堆栈信息
- jQuery 一些方法技巧
- 数据库row_number()的简单用法
- 视频运行库AVICAP32.DLL常用函数列表
- iframe嵌套跳转,刷新,表单提交
- 好记性不如烂笔头——垃圾回收
- PostgreSQL:pgloader导入导出处理重复数据简单示例
- float和double的操作记录
- 问题排查之OOM 之 mina java.lang.OutOfMemoryError(转)
- 深入研究java.lang.ThreadLocal类
- Highcharts最全的API参考