日期:2014-05-19  浏览次数:20514 次

请教如何选出3行记录
已知条件:一个id   号
求:此id号   上面的和下面的id号



id   title
1     a
3     b
5     c  
7     d
8     e
9     f

已知当前id   号为7   ,求如何取得   id   号5和8

------解决方案--------------------
select top1 id from t where id <7 order by id desc

select top1 id from t where id> 7 order by id

*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码)

最新版本:20070212

http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
------解决方案--------------------
可以使用临时表
SELECT IDENTITY(int,1,1) rownum,aid,aname into #temp from 表

SELECT min(rownum) FROM #temp WHERE rownum > (SELECT rownum FROM #temp WHERE id = 7)
union all
SELECT rownum FROM #temp WHERE rownum = (SELECT rownum FROM #temp WHERE id = 7)union all
SELECT max(rownum) FROM #temp WHERE rownum < (SELECT rownum FROM #temp WHERE id = 7)

模拟Oracle的rownum效果

好象...