首先假如有一张表 test

那么我们要查的就是 3 和 7

这里我的思路是

用SQL Server 自带的Row_Number 函数把 ID=5 的 RowNo 查出来,因为RowNo是连续的,所以它的前后各一行数据就是RowNo加一和减一

就是RowNo为4的那行 加一和减一

那么我们就需要得到ID为5的RowNo,然后在一个查询中用这个RowNo的值加一减一就可以了

代码是:

declare @xh int  --声明一个整型的标量变量
set @xh= --赋值得到 ID=5 的 RowNo 的值
(select RowNo from (
select ROW_NUMBER() over(order by id asc) as RowNo,ID,name
from test ) as a
where a.ID = 5
)
--得到 ID=5 前后行的值,ID不连续
select * from (
select ROW_NUMBER() over(order by id asc) as RowNo,ID,name
from test ) as a
where a.RowNo=@xh+1 or a.RowNo=@xh-1

结果:

最新文章

  1. 3Sum algorithm - 非常容易理解的实现 (java)
  2. android App使用新浪微博sdk的使用总结
  3. poj 3264(线段树)
  4. perl 引用
  5. WebRequest 访问 https
  6. 【CodeVS 2083】Cryptcowgraphy 解密牛语
  7. Linux下双网卡绑定(bonding技术)
  8. [HDOJ5938]Four Operations(暴力,DFS)
  9. Hive中的排序语法
  10. C ~ char int 等数据转换问题
  11. 眼下最好的JSP分页技术
  12. 转--xcode duplicate symbol问题
  13. redis配置密码认证
  14. 某厂java算法题实现及改进【有n个人成一圈,顺序排号(编号为1到n),从第一个人开始报数1到3报数】
  15. JSON.stringify()的不常见用法
  16. day04 list tuple
  17. @Autowired注解和静态方法
  18. .Net并行编程(一)-TPL之数据并行
  19. ylbtech-Java-Runoob-高级教程-实例-数组:15. Java 实例 – 判断数组是否相等
  20. Oracle中Null与空字符串' '的区别

热门文章

  1. Unity 定时开启/关闭外部应用
  2. avalon2学习心得(1)
  3. 修改sqlserver2008中表的schema
  4. 关于自定义UICollectionViewLayout的一点个人理解<一>
  5. size_t和size_type类型
  6. Lucene学习总结之六:Lucene打分公式的数学推导
  7. Python多线程同步命令行模拟进度显示
  8. putty设置
  9. Ecstore 2.0 报表显示空白
  10. Pie(hdu 1969 二分查找)