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

如何获得指定条件的纪录的前后数条记录
比如获得指定id=123的纪录,同时还要获得按id排序的前面和后面的纪录,用一次查询
排完序后:
id
111
123
124
125

要获得id=123的前后两条纪录,也就是111和124,该怎么写sql语句?

------解决方案--------------------
select * from tablename a
where id = (select max(id) from tablename where id < a.id)
or id = (select min(id) from tablename where id > a.id)