sql - 如何在 MySQL 中获取下一条/上一条记录?

标签 sql mysql

假设我有 ID 3,4,7,9

的记录

我希望能够通过下一个/上一个链接导航从一个到另一个。

问题是,我不知道如何获取最近的更高 ID 的记录

因此,当我有一个具有 ID 4 的记录时,我需要能够获取下一条现有记录,即 7

查询可能类似于

SELECT * FROM foo WHERE id = 4 OFFSET 1

如何在不获取整个结果集并手动迭代的情况下获取下一条/上一条记录?

我正在使用 MySQL 5。

最佳答案

下一个:

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)

关于sql - 如何在 MySQL 中获取下一条/上一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1446821/

相关文章:

mysql - 如何在 UPDATE 查询中执行三个表 JOIN?

sql - 季度累计总数

php - 从 MySQL 表获取排名到 TextView

php - 我的时间戳有什么问题吗?

MySQL 为每条已经存在的记录插入一条记录

mysql - 如何根据codeigniter下拉菜单中选定的文本选择id

php - 检查用户是否存在 - MySQL

php - 单点登录最佳方法建议

sql - Postgres如何使用子句实现计算列

SQL:将列拆分为多个单词以搜索用户输入