假设我有ID3,4,7,9的记录

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

问题是,我不知道how to fetch record with nearest higher ID.

所以,当我有一个ID4的记录时,我需要能够获取下一个现有记录,即7.

The query would probably look something like

SELECT * FROM foo WHERE id = 4 OFFSET 1

How can I fetch next/previous record without fetching the whole result set and manually iterating?

我使用的是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)

Mysql相关问答推荐

带负数的MySQL子字符串_索引

可以优化这个带有重复WHERE子句的查询吗?

无法连接到扩展坞MySQL Unix套接字

MySQL-带有用户定义变量的IF-THEN语句

基于多个 where 子句在规范化表中查找公共 ID(值)

SQL查询以查找两个特定行的总和

当mysql中只有一个索引列时,为什么使用范围条件锁定读取会锁定每条记录?

MySQL DISTINCT 日期仅返回特定表的 1 个值.相同的查询适用于其他表

插入二进制数据会导致Data too long for column...

为什么一个 10 位的电话号码不能存储在长度为 10 的整数中?

如何知道 Select 查询花费了多少时间?

从 SQL 中的左连接和内连接中减go 计数

具有别名主机的 ssh 反向 mysql tunel

在 MySQL 中为多列创建索引以进行查询优化

如何使用 C++ 连接 mySQL 数据库

获取Count(*)占GROUP BY中所有项目数的百分比

是否可以在内部连接期间重命名连接列?

字符ي和ی以及波斯语的区别 - Mysql

Mysql中int(10)的最大大小是多少

mysql错误'TYPE = MyISAM'