您正在使用IPV4(35.168.110.128)访问本站 您本次共访问本站 1 次
 用户名: 密 码: 验证码:     用QQ登录本站
首页 软件 编程 笑话 知识 公告 台风 日历 计算器
[公益]文明驾车我带头,文明行路我带头,礼貌让座我带头      

【腾讯云】多款云产品1折起,买云服务器送免费机器,最长免费续3个月      
[公益] 节省一分零钱 献出一份爱心 温暖世间真情      
2022年 中秋节 21
2022年 国庆节 42
2023年 元 旦 134
2023年 春 节 155
 
本类新增
本类热门文章
您现在的位置:首页 >> 数据库 >> 内容
SQL Server实现查询每个分组的前N条记录
内容摘要: SQL语句查询每个分组的前N条记录的实现方法:1、生成测试数据:#Tifobject_id('tempdb.dbo.#T')isnotnulldroptable#T;createtable#T(IDvarchar(3),GIDint,Authorvarchar(29),Titlevarchar(39),Datedatetime);insertinto#Tse......
SQL语句查询每个分组的前N条记录的实现方法:

1、生成测试数据:#T

ifobject_id('tempdb.dbo.#T')isnotnulldroptable#T;

createtable#T(IDvarchar(3),

GIDint,

Authorvarchar(29),

Titlevarchar(39),

Datedatetime);

insertinto#T

select'001',1,'邹建','深入浅出SQLServer2005开发管理与应用实例','2008-05-10'

unionall

select'002',1,'胡百敬','SQLServer2005性能调校','2008-03-22'

unionall

select'003',1,'格罗夫Groff.J.R.','SQL完全手册','2009-07-01'

unionall

select'004',1,'KalenDelaney','SQLServer2005技术内幕存储引擎','2008-08-01'

unionall

select'005',2,'Alex.Kriegel.Boris.M.Trukhnov','SQL宝典','2007-10-05'

unionall

select'006',2,'飞思科技产品研发中心','SQLServer2000高级管理与开发','2007-09-10'

unionall

select'007',2,'胡百敬','SQLServer2005数据库开发详解','2008-06-15'

unionall

select'008',3,'陈浩奎','SQLServer2000存储过程与XML编程','2005-09-01'

unionall

select'009',3,'赵松涛','SQLServer2005系统管理实录','2008-10-01'

unionall

select'010',3,'黄占涛','SQL技术手册','2006-01-01'

unionall

select'010',4,'黄蛋蛋','SQL技术手册蛋蛋','2006-01-01';

2、表记录查询如下:

select*from#T;

结果:

3、按GID分组,查每个分组中Date最新的前2条记录

(1)用子查询

--1.字段ID唯一时:

select*

from#TasT

whereIDin(selecttop2IDfrom#TwhereGID=T.GIDorderbyDatedesc);

--2.如果ID不唯一时:

select*

from#TasT

where2>(selectcount(*)from#TwhereGID=T.GIDandDate>T.Date);

(2)使用SQLServer2005使用新方法ROW_NUMBER()进行排位分组

selectID,GID,Author,Title,Date

from(

selectrid=row_number()over(partitionbyGIDorderbyDatedesc),*from#T)asT

whererid<=2;

上一篇:CentOS7环境下MySQL8常用命令 下一篇:mysql实现将字符串字段转为数字排序或
发布日期:2022/6/15
手机扫二维码直达本页
发布时间:13:14:01
点击:16
录入:壹家怡园
相关文章
Baidu

YiJiaCMS 6.3.1.220701(MSSQL) 闽ICP备05000814号-1
本空间由腾讯云(轻量应用服务器)提供,百度云加速提供加速防护
Copyright©2000-2022