日期:2014-05-18  浏览次数:20585 次

查询某条数据的上一条和下一条数据
RT:查询ID为“xxx”的上一条和下一条数据.
注:ID无序,ID可能为GUID.

------解决方案--------------------
探讨
RT:查询ID为“xxx”的上一条和下一条数据.
注:ID无序,ID可能为GUID.

------解决方案--------------------
;with t
as

(
select *,row_number()over(partition by ID order by getdate()) as num from tbl
)
select *from t where num=((select num from t where id='xxx')-1) and num=((select num from t where id='xxx')+1)
------解决方案--------------------
用row_number() over (order by getdate()) 生成一个序号就ok了。
------解决方案--------------------
order by getdate()
无异于随便取两条
没多大实际意义
------解决方案--------------------
探讨
引用:
引用:
当时问了这个出题的人,有相关可区分上一条和下一条数据的列吗?
他说没有,最后没做出来,回家查了查还是没做出来,特来坛子里求助.


那么我是否可以随便取两条呢,只能代表你没有问清楚,等你问清楚了再来问我们。

补充:

SQL code


id city ……