Mysql 查询当前数据上一条和下一条的记录

获取当前文件上一条与下一条记录的原理是上一条的sql语句,从news表里按从大到小的顺序选择一条比当前ID小的新闻,下一条的sql语句,从news表里按从小到大的顺序选择一条比当前ID大的新闻。

如果ID是主键或者有索引,可以直接查找:

 

方法1:

 

[sql] view plain copy
 
  1. 1.select * from table_a where id = (select id from table_a where id < {$id} order by id desc limit 1);   
  2. 2.select * from table_a where id = (select id from table_a where id > {$id} order by id asc limit 1);  


方法2:

 

 

[sql] view plain copy
 
    1. 1.select * from table_a where id = (select max(id) from table_a where id < {$id});   
    2. 2.select * from table_a where id = (select min(id) from table_a where id > {$id});  
posted @ 2018-05-20 11:44  阿波罗任先生  阅读(16385)  评论(1编辑  收藏  举报