一尘不染

如何在MySQL中获取下一个/上一个记录?

mysql

假设我有ID为3、4、7、9的记录,并且我希望能够通过下一个/上一个链接导航到另一个。问题是,我不知道如何获取具有最近的较高ID的记录。

因此,当我有一个ID为4的记录时,我需要能够获取下一个现有记录,即7。查询可能看起来像

SELECT * FROM foo WHERE id = 4 OFFSET 1

如何获取下一个/上一个记录而不获取整个结果集并手动进行迭代?

我正在使用MySQL 5。


阅读 401

收藏
2020-05-17

共1个答案

一尘不染

下一个:

select * from foo where id = (select min(id) from foo where id > 4)

以前:

select * from foo where id = (select max(id) from foo where id < 4)
2020-05-17