SQL如何使用ROW_NUMBER() OVER函数生成序列号
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章给大家介绍SQL如何使用ROW_NUMBER() OVER函数生成序列号,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。语法:ROW_NUMBER() OVER(PARTI
千家信息网最后更新 2024年11月11日SQL如何使用ROW_NUMBER() OVER函数生成序列号
这篇文章给大家介绍SQL如何使用ROW_NUMBER() OVER函数生成序列号,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
简单的说ROW_NUMBER()
从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY CYLH DESC)
是先把xlh列降序,再为降序以后的每条CYLH记录返回一个序号。
示例:
分析:ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2)
表示根据COL1分组,在分组内部根据 COL2
排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
也可这样使用:ROW_NUMBER() OVER (ORDER BY COL2)
例子:
建立测试表,并插入测试数据
CREATE TABLE TEST_ROW_NUMBER_01( CMZH varchar(10) not null, CYLH varchar(10) null, MJE money null,);
INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES (2106000011,20281997,10.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000010,20281996,10.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000008,20281995,0.00)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000006,20281994,9.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000004,20281993,5.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000001,20281992,10.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000002,20281992,10.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000007,20217280,0.00)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000009,20172458,5.50)INSERT INTO TEST_ROW_NUMBER_01(CMZH,CYLH,MJE) VALUES(2106000005,20121813,0.00)
执行脚本自动生成行号并按CYLH进行排序(滑动查看代码)
SELECT ROW_NUMBER()OVER(ORDER BY CYLH DESC) AS ROWNUM,* FROM TEST_ROW_NUMBER_01
结果如下:
注意:在使用over
等开窗函数时,over
里头的分组及排序的执行晚于"where
,group by
,order by
"的执行。
关于SQL如何使用ROW_NUMBER() OVER函数生成序列号就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
函数
分组
排序
生成
序列
序列号
内容
更多
帮助
测试
不错
代码
例子
兴趣
小伙
小伙伴
序号
数字
数据
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
根服务器对中国有影响吗
电脑服务器设置在哪里
网络安全宣传视频系列
网络安全教育学习记录
移动服务器采购中标名单
管理引导与服务器
大学软件开发管理制度
局域网可以做ftp服务器吗
绍兴app手机软件开发公司
mysql数据库在哪里建立
数据库模块优缺点
软件开发项目合同支付
从事网络安全职业的工作年限
浪潮服务器与新生态大战
网络安全攻防大赛i春秋
河南天创软件开发有限公司
incall-ev服务器不稳定
爱数数据库压缩oracle
永恒之塔怀旧服选了服务器
南京汇橙网络技术有限公司
新乡市仓戒网络技术有限公司
网络安全暴力破解步骤教程
ict数据通信与网络技术
北京软件开发好的培训机构
数据库底层权限
期货价格数据库
手机邮件提示服务器密码错误
软件开发过程职务
计算机网络技术五年的过程
青白江满满网络技术工作室