频道栏目
首页 > 数据库 > MySQL > 正文
关于MySqL数据库如何查询当前数据的上一条和下一条数据的方法介绍
2018-04-13 15:20:11         来源:ling的博客  
收藏   我要投稿

关于MySqL数据库如何查询当前数据的上一条和下一条数据的方法介绍

这里写图片描述

如上图所示第14行数据的上一条和下一条,id都不是连续的,因此意图通过id-1或者id+1是肯定行不通的,那么怎么办呢?其实也简单就是查询比id=14小的元素中的最大值,比id=14大的元素中的最小值。

select * from tb_user where id in
(select
case 
when SIGN(id-14)>0 THEN MIN(id)
when SIGN(id-14)<0 THEN MAX(id)
ELSE id
end 
from tb_user

GROUP BY SIGN(id-14)
ORDER BY SIGN(id-14)
)
ORDER BY id

运行效果:

这里写图片描述

select * from tb_user where id in
(select
case 
when SIGN(id-14)>0 THEN MIN(id)
when SIGN(id-14)<0 THEN MAX(id)
end 
from tb_user
where id !=14
GROUP BY SIGN(id-14)
ORDER BY SIGN(id-14)
)
ORDER BY id

运行效果:

这里写图片描述

以上就是这个问题的解决方法,希望对您有所帮助!

点击复制链接 与好友分享!回本站首页
上一篇:初学必看:mysql入门基础学习
下一篇:mysql的事务性,锁和隔离实例讲解
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站