举杯邀月

msyql根据ID查询相邻的数据

摘要:在很多的情况下我们都需要查询出某一条数据相邻的前一条及后一条数据,比如文章底层,推荐上一篇、下一篇文章。

在很多的情况下我们都需要查询出某一条数据相邻的前一条及后一条数据,比如文章底层,推荐上一篇、下一篇文章。

我们先说一下实现的方式,比如我们有一个表,ID从1到10,我们要查询ID为5的前一条(ID为4)及后一条(ID为6)的数据。

查询前一条:ID要小于当前ID,然后排序为倒序,取第一条

SELECT * FROM table where id<5 ORDER BY id DESC limit 1;
1
1
1
1
1
1
1
1

查询后一条:ID要大于当前ID,然后排序为正序,取第一条

SELECT * FROM table where id>5 ORDER BY id ASC limit 1;
1
1
1
1
1
1
1
1

作者:举杯邀月

出处: http://www.hug-code.cn/archives/5fc5b47ec0b2d.html

2020-05-10 标签: mysql