mysql 下一条数据_mysql 查询一条记录的下一条和上一条记录
如果ID是主鍵或者有索引,可以直接查找:
方法一:
查詢上一條記錄的SQL語句(如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤):
select * from table_a where id = (select id from table_a where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions];
查詢下一條記錄的SQL語句(如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤):
select * from table_a where id = (select id from table_a where id > {$id}?[and other_conditions]?order by id asc limit 1) [and other_conditions];
方法二:
查詢上一條記錄的SQL語句((如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤))
select * from table_a where id = (select max(id) from table_a where id < {$id} [and?other_conditions]) [and?other_conditions];
查詢下一條記錄的SQL語句(如果有其他的查詢條件記得加上other_conditions以免出現不必要的錯誤):
select * from table_a where id = (select min(id) from table_a where id > {$id} [and?other_conditions]) [and?other_conditions];
mysql 查詢一條記錄的上一條和下一條記錄
下面是查詢mysql的 content表中id=3的記錄的前一條和后一條記錄的sql
把條件中的3更換成其他的ID,可以查任意ID的的前一條和后一條記錄
SELECT * FROM content WHERE id IN (SELECT CASE WHEN SIGN(id - 3) > 0 THEN MIN(id) WHEN SIGN(id - 3) < 0 THEN MAX(id) END AS id
FROM content WHERE id $amp;
總結
以上是生活随笔為你收集整理的mysql 下一条数据_mysql 查询一条记录的下一条和上一条记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最小编辑代价-golang
- 下一篇: phpstudy中的mysql