mysql怎么查询上一条记录_MySQL中查询已知记录的上一条和下一条记录「建议收藏」

mysql怎么查询上一条记录_MySQL中查询已知记录的上一条和下一条记录「建议收藏」设MySQL中有一个形如下表的数据表,表名为test:+——+——+—————+|ID|No|Other|+——+——+—————+|1|1|Someothers1||2|2|Someothers2||3|3|So…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

设MySQL中有一个形如下表的数据表,表名为test:

+——+——+—————+

| ID   | No   | Other         |

+——+——+—————+

|    1 |    1 | Some others 1 |

|    2 |    2 | Some others 2 |

|    3 |    3 | Some others 3 |

|   10 |    4 | Some others 4 |

|   15 |    5 | Some others 5 |

|   16 |    6 | Some others 6 |

|   19 |    7 | Some others 7 |

+——+——+—————+

其中,”ID”为每条记录的唯一ID(一般为自增字段),”No”为每条记录在表中对应的位置(为直观起见),”Other”为表中的其他信息(可为N个字段).

现在我们要查找”ID=3″的记录的”上一条”和”下一条”记录.

1.仅列出字段”ID”的值:

SELECT CASE WHEN SIGN(ID – 3) > 0 THEN ‘Next’ ELSE ‘Prev’ END AS DIR, CASE WHEN SIGN(ID – 3) > 0 THEN MIN(ID) WHEN SIGN(ID – 3) < 0 THEN MAX(ID) END AS ID FROM test WHERE ID <> 3 GROUP BY SIGN(ID – 3) ORDER BY SIGN(ID – 3);

结果:

+——+——+

| DIR | ID   |

+——+——+

| PREV |    2 |

| NEXT |   10 |

+——+——+

2.列出所有字段值:

SELECT * FROM Test WHERE ID IN (SELECT CASE WHEN SIGN(ID – 3) > 0 THEN MIN(ID) WHEN SIGN(ID – 3) < 0 THEN MAX(ID) END AS ID FROM test WHERE ID <> 3 GROUP BY SIGN(ID – 3) ORDER BY SIGN(ID – 3)) ORDER BY ID ASC;

结果:

+——+——+—————+

| ID   | No   | Other         |

+——+——+—————+

|    2 |    2 | Some others 2 |

|   10 |    4 | Some others 4 |

+——+——+—————+

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197538.html原文链接:https://javaforall.net

(0)
上一篇 2025年9月1日 下午10:22
下一篇 2025年9月1日 下午11:01


相关推荐

  • 激活webstrom(已测有效)[通俗易懂]

    激活webstrom(已测有效),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    75
  • 机器人 slam_创新思维与创新能力

    机器人 slam_创新思维与创新能力由Dora于星期四,2017-05-1812:00发表思岚科技专栏作者:思岚科技地图的四种表示方法智能服务机器人正成为行业的风口浪尖,从清扫机器人开始,家庭陪伴机器人、送餐机器人等陆续进入公众视线。在讨论这类机器人是否能解决实际问题时,自主定位导航技术作为机器人智能化的第一步正不断引起行业内的重视。同时,作为自主定位导航技术的重要突破口,SLAM技术也成为关注焦…

    2026年4月15日
    5
  • ray tracing in one weekend_rocket用法

    ray tracing in one weekend_rocket用法RayTracing文章目录RayTracing光线追踪Whitted-StyleRayTracing求交点加速求交点BoundingVolumes包围盒BVHBasicradiometry(辐射度量学)RadiantfluxintensityIrradianceRadianceBRDF双向反射分布函数概率论回顾蒙特卡洛路径追踪蒙特卡洛积分路径追踪光线追踪1.光沿直线传播2.光线不会发生碰撞3.光路可逆性Whitted-StyleRayTracing递归算法,包括了光

    2025年7月16日
    6
  • Spring Cloud 从入门到精通

    SpringCloud是一套完整的微服务解决方案,基于SpringBoot框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。本课程由浅入深带领大家一步步攻克SpringCloud各大模块,接着通过一个实例带领大家了解大型分布式微服务架构的搭建过程,最后深入源码加深对它的了解。本课程共分为四个部分:第一部分(第…

    2022年4月8日
    65
  • jrebel离线激活_jrebel激活

    jrebel离线激活_jrebel激活Jrebel 脱机工作 jrebel 离线激活不管是在线激活还是自己搭建服务器激活 在重启 IDEA 再使用 JRebel 部署应用的时候 都会访问激活用的服务器校验证书 假设公网网络不能访问 或者许可证服务器没启动 都会导致 JRebel 不可用的 所以推荐启用 Workoffline 脱机模式 脱机模式可以在激活后 180 天内不用再激活 到期后 再把许可证服务器启动 激活一次就可以继续脱机模式

    2026年3月16日
    2
  • git分支的默认名字是_git查看某个人的提交

    git分支的默认名字是_git查看某个人的提交需求git显示当前分支的创建来源分支gitreflog–date=local–all|grepv1.0.1_devgitreflogshowv1.0.1_dev当前分支gitbranch-vv#显示本地分支和服务器分支的映射关系gitlog–graph–decorategitlog–graph–decorate–simplif…

    2022年8月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号