zoukankan      html  css  js  c++  java
  • 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

     

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

  • 相关阅读:
    Python 的并发编程
    django搭建一个小型的服务器运维网站-拿来即用的bootstrap模板
    python 文件目录遍历
    Ubuntu 18.04 登陆界面进去,几秒之后自动退出到登陆界面
    terminal 快捷操作
    Boost 源代码交叉编译
    tar 常见操作
    vim 快捷设置和操作
    Visual Studio Linker选项设置
    5. glutInitDisplayMode 函数理解
  • 原文地址:https://www.cnblogs.com/Dykimy/p/4702756.html
Copyright © 2011-2022 走看看