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

结束~~~~,大牛勿喷,主要记录一下,自己用。

Mssql 查询某记录前后N条的更多相关文章

  1. mssql 查询全部用户创建表 条数及占用空间大小(KB)

    select b.name as tablename , --表名a.rowcnt as datacount,   --条数rtrim(8*a.dpages) as size  --占用空间单位KBf ...

  2. mysql 查询每个分组前N条记录

    mysql 查询每个分组前N条记录 假设存在表movie,  有字段 id, part(地区), mcount(观看次数) 现查询每个地区观看次数最多的3部movie, 则表 ###id虽未存在gro ...

  3. mysql随机查询符合条件的几条记录

    随机查询,方法可以有很多种.比如,查询出所有记录,然后随机从列表中取n条记录.使用程序便可实现.可是程序实现必须查询出所有符合条件的记录(至少是所有符合条件的记录id),然后再随机取出n个id,查询数 ...

  4. Oracle取查询结果数据的第一条记录SQL

    Oracle取查询结果数据的第一条记录SQL: ; ;

  5. sql 查询重复记录值取一条

    SELECT * FROM JBL_WebLog WHERE JBL_WebLog_PID IN ( --根据userName分类获取数据最小ID列表 SELECT MIN(JBL_WebLog_PI ...

  6. oracle进行一对多关联查询的时候,获取副表(也就是多条记录的那张表)的最新一条记录进行关联,如何获取多条记录最新一条呢?

    例如以下场景: 一条新闻对应多条审核记录,用户想知道这条新闻走到哪一步审核了. 使用:select * from (select b.*,(ROW_NUMBER() OVER (PARTITION B ...

  7. 【MySQL】过滤后的结果集较大,用LIMIT查询分页记录,查询效率不理想

    > 参考的优秀文章 优化LIMIT分页--<高性能MySQL>(电子工业出版社) > 场景描述 遇到一个场景:查询排序后的结果集较大,我们采用分页显示,每页显示20条记录,但是 ...

  8. SQL查询重复记录

    假设现有一张人员表(表名:Person),若想将姓名.身份证号.住址这三个字段完全相同的记录查找出来,使用 1: SELECT p1.* 2: FROM persons p1,persons p2 3 ...

  9. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

随机推荐

  1. Java的事件自定义事件学习

    课程设计要做一个游戏,由于对C++不是很熟悉,老师也准许使用java 或者其他的语言,在.net我学过事件,一种委托回调,但是在java 我不是很了解,应该原理都相同吧! 游戏大致是这样的,现在这在写 ...

  2. NodeJs编写Cli实现自动初始化新项目目录结构

    应用场景 前端日常开发中,会遇见各种各样的cli,这些工具极大地方便了我们的日常工作,让计算机自己去干繁琐的工作,而我们,就可以节省出大量的时间用于学习.交流.开发. 注释:文章附有源码链接! 使用工 ...

  3. Linux与Git学习笔记

    Linux基础概念篇: 终端.控制器 命令行界面 (CLI).终端 (Terminal).Shell.TTY的区别 Linux下的yum与apt-get Linux中su.su -和sudo的区别 L ...

  4. Ubuntu中用户名密码和root密码修改

    用户名密码和root密码不是同一个密码 重置(修改)root密码 ubuntu的root初始密码是随机的,每次开机都有一个新的root密码修改方法如下: 1.sudo passwd root 2.此处 ...

  5. pytest5-使用conftest.py实现多文件共享fixture

    一个测试工程下是可以有多个conftest.py的文件,一般在工程根目录放一个conftest.py起到全局作用.在不同的测试子目录也可以放conftest.py,作用范围只在该层级以及以下目录生效. ...

  6. spring security原理-学习笔记1-整体概览

    整体概述 运行时环境 Spring Security 3.0需要Java 5.0 Runtime Environment或更高版本. 核心组件 SecurityContextHolder,Securi ...

  7. mp-vue实现小程序回顶操作踩坑,wx.pageScrollTo使用无效填坑

    本来项目都写的差不多了,测试测着侧着就冒出了新的想法,我因为做的是问卷,因此会有用户必答题未答完的可能存在,本来市场部给的需求就是做一个弹窗就好了,她说想要做出跳回到用户未答的第一道题,好吧,既然都这 ...

  8. Java基础(二十九)Java IO(6)对象序列化(Object Serialization)

    参考之前整理过的Java序列化与反序列化:https://www.cnblogs.com/BigJunOba/p/9127414.html 使用对象输入输出流可以实现对象序列化与反序列化,可以直接存取 ...

  9. NetworkManager网络通讯_networkReader/Writer(六)

    unet客户端和服务端进行消息发送时可以采用上一节中方法,也可以直接用networkReader/Writer类进行发送 (一)服务端/客户端注册消息 ; m_Server.RegisterHandl ...

  10. Python能做什么,自学Python效果怎么样?

    短时间掌握一门技能是现代社会的需求.生活节奏越来越快,现在不是大鱼吃小鱼,而是快鱼吃慢鱼的时代,人的时间比机器的时间更值钱.Python作为一种轻量级编程语言,语言简洁开发快,没那么多技巧,受到众多追 ...