`
bluethink
  • 浏览: 97916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mysql 查询一条记录的上一条和下一条记录

阅读更多
下面是查询mysql的 content表中id=3的记录的前一条和后一条记录的sql
把条件中的3更换成其他的ID,可以查任意ID的的前一条和后一条记录

SELECT * FROM content 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 content WHERE id <> 3 GROUP BY SIGN(id - 3) ORDER BY SIGN(id - 3)) ORDER BY id ASC;
分享到:
评论
1 楼 east_java 2010-01-07  
这么复杂,

相关推荐

    MySQL 多表关联一对多查询实现取最新一条数据的方法示例

    本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...

    MySQL 查询重复内容只显示一条

    标题“MySQL 查询重复内容只显示一条”涉及到的是在MySQL数据库中如何处理重复数据的问题。在数据分析或数据存储过程中,有时我们需要找出并处理重复的记录,只保留一条作为代表。这通常可以通过聚合函数和分组来...

    mysql实现rownum和上一条,下一条功能

    1.或许有的人会用id+limit来实现上一条,下一条功能.但是.我们试想一下.有的业务并不是用id来排序的.那这样的方法就没效果了. 2.现在找到了生成rownum的方法,并且优化了执行速度. 3.直接上我项目里的sql,希望对大家...

    如何实现上一条、下一条的功能

    实现“上一条”和“下一条”功能的核心在于能够根据当前记录的ID找到前一条和后一条记录的ID。 ##### 1. SQL查询实现 对于SQL查询来说,主要通过比较ID来找到前一条和后一条记录: ```sql -- 查询当前记录 SELECT...

    Mysql查询最近一条记录的sql语句(优化篇)

    在MySQL数据库中,查询最近一条记录通常涉及到时间戳或者某个排序字段。本文主要探讨了三种不同的SQL语句来实现这一目标,从效率低下的方法到更优化的解决方案,特别是针对大量数据的情况。 首先,最简单但效率最低...

    mysql使用GROUP BY分组实现取前N条记录的方法

    本文实例讲述了mysql使用GROUP BY分组实现取前N条记录的方法。分享给大家供大家参考,具体如下: MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY...

    MySQL 查询文章的上下篇

    首先,我们需要一个包含文章ID、文章标题、上一篇ID和下一篇文章ID的表结构。假设我们有一个名为`articles`的表,其字段如下: 1. `id`:文章的唯一标识,通常为自增整数。 2. `title`:文章标题。 3. `prev_id`:...

    chat聊天室增加mysql记录功能

    这样,每当用户发送一条消息,都会在MySQL数据库中创建一条新的记录。为了查询历史记录,可以编写一个API端点,从数据库中检索并返回这些记录: ```javascript app.get('/api/messages', (req, res) =&gt; { const ...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    mysql彻底理解删除重复记录sql脚本,只保留一条记录

    mysql彻底理解删除重复记录sql脚本,只保留一条记录

    MySQL删除重复记录

    与`REPLACE`选项不同,`IGNORE`选项在遇到重复记录时不会删除旧记录,而是直接跳过这条记录,继续处理下一条记录。这适用于那些不希望因为重复记录而中断数据导入场景。 使用`IGNORE`选项的命令如下: ```sql LOAD...

    mysql 一条语句删除多表数据

    "mysql 一条语句删除多表" 的主题就是关于如何通过单个SQL语句来删除关联的多个表的数据,从而节省数据库连接资源和提高执行效率。下面将详细解释这一技术及其背后的原理。 首先,我们要理解的是SQL语言中的“JOIN...

    【MySQL数据库】一条SQL语句为什么执行这么慢?

    【MySQL数据库】一条SQL语句执行慢的问题是一个复杂的议题,涉及到多个方面,包括数据库的内部机制、事务处理、索引优化以及SQL语句的设计。下面将深入解析导致SQL执行变慢的主要因素。 **一、执行偶尔变慢** 1. *...

    MySQL数据库:单条数据记录的插入一.pptx

    单条数据记录的插入;;单条数据记录的插入;● VALUES子句:包含各列需要插入的数据清单,数据的顺序要与列的顺序相对应。若表名后不给出列名,则在VALUES子句中要给出每一列(除IDENTITY和timestamp类型的列)的值,...

    Mysql如何查询某条记录在分页的第几页详析

    首先,我们假设已经知道一条记录的ID,并且想要按照ID的顺序(无论是升序还是降序)来确定它在分页中的位置。以降序为例,我们可以使用以下SQL语句: ```sql SELECT COUNT(id) FROM user WHERE id &gt; 5; ``` 这里的...

    MYSQL中获取得最后一条记录的语句

    在MySQL数据库中,获取最后一条记录的ID是一个常见的需求,特别是在主从表关系的设计中。在这样的场景下,主表的自动递增ID通常作为外键引用到从表。为了高效且安全地获取这个ID,MySQL提供了一种专门的函数——`...

    获取MySQL的表中每个userid最后一条记录的方法

    总结来说,通过`GROUP BY`,`GROUP_CONCAT`和`SUBSTRING_INDEX`的组合,我们可以有效地在MySQL中获取每个`userid`的最后一条记录。这种技巧在日志分析、活动追踪或其他需要获取最新状态的场景中非常实用。了解并掌握...

    MySql执行一条查询语句的内部执行过程?

    9. **关闭和清理**:最后,MySQL清理执行过程中产生的临时资源,如临时表、内存缓冲等,并等待接收下一条查询。 理解MySQL查询执行过程有助于优化查询性能,例如通过创建合适的索引、调整查询语句或选择更适合的...

Global site tag (gtag.js) - Google Analytics