分组取TOP数据是T-SQL中的常用查询, 如学生信息管理系统中取出每个学科前3名的学生。这种查询在SQL Server 2005之前,写起来很繁琐,需要用到临时表关联查询才能取到。SQL Server 2005后之后,引入了row_number()函数,row_number()函数的分组排序功能使这种操作变得非常简单。下面是一个简单示例:
复制代码 代码如下:
--1.创建测试表
create table #score
(
name varchar(20),
subject varchar(20),
score int
)
--2.插入测试数据
insert into #score(name,subject,score) values('张三','语文',98)
insert into #score(name,subject,score) values('张三','数学',80)
insert into #score(name,subject,score) values('张三','英语',90)
insert into #score(name,subject,score) values('李四','语文',88)
insert into #score(name,subject,score) values('李四','数学',86)
insert into #score(name,subject,score) values('李四','英语',88)
insert into #score(name,subject,score) values('李明','语文',60)
insert into #score(name,subject,score) values('李明','数学',86)
insert into #score(name,subject,score) values('李明','英语',88)
insert into #score(name,subject,score) values('林风','语文',74)
insert into #score(name,subject,score) values('林风','数学',99)
insert into #score(name,subject,score) values('林风','英语',59)
insert into #score(name,subject,score) values('严明','英语',96)
--3.取每个学科的前3名数据
select * from
(
select subject,name,score,ROW_NUMBER() over(PARTITION by subject order by score desc) as num from #score
) T where T.num <= 3 order by subject
--4.删除临时表
truncate table #score
drop table #score
语法形式:ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)
解释:根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
相关推荐:
主流seo是什么,seo是什么推广网站 ,摄像ai性能
Mac连接VPS的最佳软件选择指南,实用推荐与操作指南
什么是seo编辑,seo编辑累吗 阳泉百度营销推广
SEO是什么角色,seo指的是什么意思 ,ros ai 背景
SEO大神如何在激烈的互联网竞争中脱颖而出?,营销网络推广就选l火21星
电信163网络下的神秘VPS,速度与隐私的双重保障探索
seo技术需要具备什么,seo需要具备什么知识 嘉兴网站优化如何
江津科士达机房空调怎么样?
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,淄博网站建设行业
“只能写作”:在创作的世界里,选择文字,就是选择自由,眉山营销推广地址电话
seo黑帽是什么,列举几种seo黑帽行为 ,和ai聊骂ai违法吗
了解SEO:让你的网站在搜索引擎中脱颖而出的秘密武器,枣庄水处理网站建设
什么叫做seo 引流,电商seo引流 山西网站推广工作如何样
极速畅享网络,免费VPS加速器APP大揭秘!
seo用什么手法,seo方式 ,ai山水画国画
seo是什么文章,seo指的什么 ,ai创意标识
seo样板文字是什么,seo模板建站 金华电商网站建设价格
seo是什么游轮,seo you ,ai虚拟演员
seo是什么职位的缩写,seo是什么意思seo是什么职位 ,人工智能ai建模
SEO薪资这些,你也能月入过万!,网站首页优化方案有哪些
SEO策划:让你的网站迅速脱颖而出的秘诀,兰州网站建设美丽中国
seo是什么物质,seo到底是什么 ,ai5858697
拨号VPS服务器搭建全攻略,高效通信轻松实现!
SEO学堂:开启数字营销新时代,全面提升网站排名与流量,英山网站建设怎么做
做seo需要做什么,做seo需要做什么岗位 蚌埠营销推广哪家强一点
SEO出来,打破流量瓶颈,助力企业增长的关键策略,seo优化网站外包公司
URL站长的崛起:打造高效网站运营的秘密武器,别墅营销策划推广方案
亚马逊中什么是seo,亚马逊sop ,ai kuaid
SEO站在未来之巅,助力网站在激烈竞争中脱颖而出,洞头抖音关键词排名优化
seo网站快速排名哪家好,seo技术 快速网站排名 黑米营销推广方案策划
京东业绩再创新高:未来电商巨头的成功之道,清远个人网站推广多少钱
seo面试会问到什么,面试问你seo你是怎么做的 西安网站建设kxccc
SEO通过-如何通过SEO优化让你的业务在搜索引擎中脱颖而出,discuz论坛seo
SEO在线服务-让您的网站快速跃升至搜索引擎前列,襄樊网站建设路串串
“收录量为1”,打造数字化时代的独特竞争力,如何加入饭店网站推广员
腾讯云VPS官网登录攻略,轻松步入云服务平台
seo是什么化学元素,seo表示什么 ,小熊 ai
香港VPS能否登录外网的深度解析?
【SEO优化全攻略】提升网站流量的终极秘籍,带你轻松玩转搜索引擎优化!,seo优化省钱广告
seo理论是什么,seo概念的理解 销型网站建设
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,怒江专业优化网站有哪些
什么叫seo优化,seo主要优化什么 seo链接一般几个好
SEO软优化:助力网站实现流量爆发的秘密武器,seo百度点赞
SEO才能:提升网站排名,突破网络营销的核心竞争力,网站的优化企业
seo技能主要是什么,seo技能主要是什么内容 电工电气网站优化哪家好
为什么新手做seo好做,为什么要懂seo ,ai变医院
SEO作用:提升网站流量与品牌曝光的秘密武器,网站后端优化
SEO新闻:2025年最新趋势与最佳实践,你不可错过的SEO战略,洗衣粉营销推广宣传语
VPS ***遭遇无网络连接问题怎么办?揭秘快速解决技巧!
互联网快排:助力企业网站流量爆发的秘密武器,江门新站seo步骤