SQL如何使用ROW_NUMBER() OVER函数生成序列号
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,这篇文章给大家介绍SQL如何使用ROW_NUMBER() OVER函数生成序列号,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。语法:ROW_NUMBER() OVER(PARTI
千家信息网最后更新 2025年02月12日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安全错误
数据库的锁怎样保障安全
证券量化交易软件开发商
网络安全基本概述试讲
南京手机软件开发创新服务
空间数据库 试题
我对国家网络安全的态度
专业技术人网络安全知识答案
高校网络安全保卫
云南昭通国家网络安全宣传周活动
房产数据库查询
奉贤区技术软件开发咨询热线
计算机网络技术中专有前途吗
现代社会网络技术的重要性
开源免费数据库有哪些
vb软件开发人才网
幼儿园网络安全问答
潍坊 软件开发
网络技术 素材
阿里云山东服务器地址
网络安全运维保密承诺书
chns数据库是什么意思
网络技术的核心技
家委会网络安全
数据库完整性的定义存储在
做nas的服务器
网络安全中密钥是什么
网络技术经济环境分析
神经网络技术的特点
大数据技术在网络安全平台构建中的应用
从历史数据库中寻找知识
dbms是数据库管理员