数据库中如何获取上一条..下一条..首尾记录

时间:2022-09-15 00:23:51
如果是 sql server 或者 access
下一条:
select top 1 from tb
where id > 知道的ID值
order by id asc

上一条:
select top 1 from tb
where id < 知道的ID值
order by id desc


获得上一条的id :select  max(id)as id from [表] where id<"[你的要查的id]" order by [.....]获得下一条的id :select  min(id)as id from [表] where id>"[你的要查的id]" order by [.....]很笨的办法但是很直观·根据不同的数据库有很多不同的写法··比如 mysql 中的 limit 或者 mssql 中的 top  查询指定记录user_id为123用户的上一条记录或者下一条记录.在论坛中搜索了一下,没找到,请问教下高手用rownum或者rowid的写法.谢谢[/COLOR] [/B]如数据库记录如下:USER_ID    USER_NAME---------------------------------------------------123                test1234                test2345                test6789                test7891                test8现在我要查询USER_INFO表中指定条件user_id=345的记录中的上一条记录.那这条记录就是user_id=123  user_name=test1如果我要查询它的下一条记录,那它的结果是user_id=345    user_name=test3
我记的原来做开发的时候实现上一条下一条并不涉及计算,而是通过传参方式,比如当前条是user_id=234,那么上一条=?user_id=234&action=prew
后边的页面获取后生成sql如下sql:select * from (select * from tbl where user_id<234 order by user_id desc) where rownum<2

下一条=?user_id=234&action=next
后台页面生成的sql:select * from (select * from tbl where user_id>234 order by user_id asc) where rownum<2