求SQL 传进一个ID就是搜三行记录本行,前一行,后一行
传进一个ID就是搜三行记录本行,前一行,后一行
我自己写的是
(传进去值当是5)
select top 3 * from table where id<(select top 1 id from table where id>5 order by id desc) order by id desc
但是当id值是最后一行时就会出问题了改成
select top 3 * from table where id<=(select top 1 id from table where id>=5 order by id desc) order by id desc
这句冒似可以但是不是我想要的结果,我想要的是
当传入的值是第一行时,那么就只搜出1,2两行,传入值为最后一行时搜出倒数1,2行
大家有好的sql不?存储过程也行啊