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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 企业微信API使用基本教程[通俗易懂]

    企业微信API使用基本教程[通俗易懂]在企业微信创建自建应用登录企业微信后台,在“应用管理>自建”中点击“创建应用”,填写应用信息创建。API配置表参数值获取1、corpid:企业ID。在企业微信后台的“我的企业>企业信息”中获取。2、corpsecret:应用凭证密匙。在自建应用详情中获取。如果要使用通讯录相关API则corpsecret在“管理工具>通讯录同步”中获取。3、AesKey及token:加密的AESKEY和消息token。如果是接收外部联系人变更回调等事件信息,则在“自建应用详情>

    2022年10月2日
    5
  • 什么是51单片机最小系统?

    什么是51单片机最小系统?什么是单片机最小系统?说白了就是单片机能正常工作的最简单的电路。当然有些芯片自己上电就能工作,这里我们介绍的是51单片机的最小系统电路。通常51单片机的最小电路包括:单片机、晶振、复位电路。下面我们逐一介绍。一、单片机如上图所示,其各个引脚功能如下:1~8:P1对应的IO口(可编程输入输出口)。9:RST复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。10~17:P3对应的IO口。18:XTAL2晶振输出端。19:XTAL1晶振输入端。20:GND电源地。..

    2022年6月23日
    30
  • padStart()与padEnd()「建议收藏」

    padStart()与padEnd()「建议收藏」padStart()padStart()方法用另一个字符串填充当前字符串(如果需要的话,会重复多次),以便产生的字符串达到给定的长度。从当前字符串的左侧开始填充。语法str.padStart(targetLength[,padString])参数:targetLength:当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。padString:可选填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截

    2025年9月5日
    6
  • try catch 语句中有return 的各类情况

    try catch 语句中有return 的各类情况在牛客上做java题时遇到过多到关于trycatch语句的问题,看了很多答案解析,在这里记录一下。首先给出一道题目:下面代码的运行结果为?publicclasstest{ publicintadd(inta,intb){ try{ returna+b; }catch(Exceptione){ System.out.println("catch语句块")…

    2022年6月29日
    22
  • 补码加、减运算规则「建议收藏」

    补码加、减运算规则「建议收藏」在计算机中,通常总是用补码完成算术的加减法运算。其规则是:  [X+Y]补=[X]补+[Y]补,[X-Y]补=[X]补-[Y]补=[X]补+[-Y]补这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号…

    2022年4月19日
    51
  • Android开发中,怎样调用摄像机拍照以及怎样从本地图库中选取照片

    Android开发中,怎样调用摄像机拍照以及怎样从本地图库中选取照片这是属于我的第一篇博文,首先说明一下,文章属性为原创,其实不能说是原创,我是在学习的过程中根据自己的理解整理的。文章内容大多为书本上的内容,书本是郭霖的《第一行代码》。    正文:现在很多应用程序会调用摄像头的拍照功能,比如哪个程序要上传一张图片作为用户头像,这是启用摄像头拍照会很方便。当然,还有第二种方法,就是在本地图库选取已经被保存的图片。现在,我就根据自己学习的过程,将这部分

    2022年7月21日
    19

发表回复

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

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