Mssql 查询某记录前后N条
Sqlserver 查询指定记录前后N条,包括当前数据
条件 【ID】
查询 【N】条
select * from [Table] where ID in (select top (【N】+1) ID from [Table] where id <=【ID】 order by id desc
union
select top 【N】 ID from [Table] where id>【ID】 order by id )
order by ID
例如:有数据表 A
id name datet
1 123123 2015-08-04 11:19:32.770
3 qwerqwer 2015-08-04 11:19:34.710
4 qwerqfsd 2015-08-04 11:19:35.507
7 jhndf 2015-08-04 11:19:38.507
8 sdfsdfc 2015-08-04 11:19:39.720
10 asdfsvc 2015-08-04 11:19:42.897
12 gdfvasdf 2015-08-04 11:19:44.927
13 vwrt4g 2015-08-04 11:19:46.517
15 asdvsdfg 2015-08-04 11:19:52.150
查询ID 为8的前后2条数据
SQL 语句为:
select * from A where ID in (select top 3 ID from A where id <=8 order by id desc
union
select top 2 ID from A where id>8 order by id )
order by ID
结果:
id name datet
4 qwerqfsd 2015-08-04 11:19:35.507
7 jhndf 2015-08-04 11:19:38.507
8 sdfsdfc 2015-08-04 11:19:39.720
10 asdfsvc 2015-08-04 11:19:42.897
12 gdfvasdf 2015-08-04 11:19:44.927
结束~~~~,大牛勿喷,主要记录一下,自己用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!