`

mysql查询上一条数据,下一条数据

阅读更多
如果ID是主键或者有索引,可以直接查找:

方法一(此方法已经试用过,很有效的呢):

查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):

select * from table_name where id = (select id from table_name where id < {$id} [and other_conditions] order by id desc limit 1) [and other_conditions];


查询下一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):

select * from table_name where id = (select id from table_name where id > {$id} [and other_conditions] order by id asc limit 1) [and other_conditions];


方法二(第一种方法已经实现了要得到的东东,有机会再验证这第二种方法吧):

查询上一条记录的SQL语句((如果有其他的查询条件记得加上other_conditions以免出现不必要的错误))

select * from table_a where id = (select max(id) from table_a where id < {$id} [and other_conditions]) [and other_conditions];


查询下一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误):

select * from table_a where id = (select min(id) from table_a where id > {$id} [and other_conditions]) [and other_conditions];


摘自:http://www.icultivator.com/p/1434.html
0
2
分享到:
评论

相关推荐

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

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

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

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

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

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

    45-MySQL单表2000万数据查询慢解决方案1

    每个分区有4条数据,查询结果正确。 分区删除 我们可以使用命令`alter table tuser drop partition p1;`删除第一个分区,分区内的数据也将被删除。 新建分区 我们可以使用命令`alter table tuser add partition ...

    MySQL30W测试数据

    7. **数据库设计**:在30W条数据上,可以测试和调整数据库的设计,比如实体关系模型(ER图)、范式理论的遵循程度,以确保数据的一致性和完整性。 8. **性能监控**:通过监控工具(如MySQL的Performance Schema或第...

    MySql 按时间段查询数据方法(实例说明)

    类似地,若要查询上一个月的数据,可以在 `MONTH()` 函数中减去1,表示当前月份的前一个月。以下是查询上一个月数据的SQL语句示例: ```sql SELECT * FROM `table` WHERE MONTH(FROM_UNIXTIME(时间字段)) = MONTH...

    mysql 查询当天、本周,本月,上一个月的数据

    mysql 查询当天、本周,本月,上一个月的数据 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) &lt;= 1

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

    ### 如何实现上一条、下一条的功能 在网站开发中,我们经常需要为...通过上述步骤,我们可以在ASP、ASP.NET以及SQL(包括SQL Server和MySQL)环境下成功实现“上一条”和“下一条”的功能,为用户提供更好的浏览体验。

    mysql 测试数据集,单表200万条数据

    这个200万条数据的测试集是实践上述理论的好素材,可以帮助我们深入理解MySQL在大数据场景下的表现,优化数据库设计和SQL语句,提升系统整体性能。通过实际操作和测试,我们可以更好地掌握MySQL数据库的相关知识。

    mysql 一条语句删除多表数据

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

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

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

    MySQL官网测试数据上百万条数据sql文件

    在本资源中,我们有一个名为"MySQL官网测试数据上百万条数据sql文件"的压缩包,它包含了一个或多个SQL脚本,这些脚本设计用于在MySQL数据库中创建并填充大量的测试数据。 SQL(Structured Query Language)是用于...

    Mysql生成三千万条数据

    - **非主键查询**:查询一条数据需要大约38秒。 - **聚合查询(如COUNT(*))**:完成时间为1分32秒。 #### 五、总结 通过本实验可以看出,在MySQL中生成并存储三千万条数据是可行的,并且在主键查询方面依然保持较...

    MySQL根据某一个或者多个字段查找重复数据的sql语句

    sql 查出一张表中重复...2、查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count(username) as '重复次数',username from xi group by username having count(*)&gt;1 order by userna

    300万条mysql测试数据

    综上所述,"300万条mysql测试数据"是一个宝贵的资源,可以帮助我们全面评估和优化MySQL系统。通过分析和实验,我们可以更好地理解和掌握MySQL在处理大规模数据时的特性,提升系统的整体性能和稳定性。文件名称“test...

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

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

    Mysql快速生成10000条随机数据(存储过程)脚本

    通过存储过程快速生成实验所需的随机数据,包含创建表,创建存储过程和调用存储过程

    mysql中造3千条数据(3种方法)

    MySQL 中造 3000 条数据的三个方法 MySQL 是一种非常流行的关系型数据库管理系统,它提供了多种方式来快速生成大量数据。本文将介绍三种方法来在 MySQL 中造 3000 条数据。 方法一:使用存储过程 存储过程是一种...

    mysql百万级测试数据下载 300W条

    快速地导入300万条数据可以检验备份文件的大小、速度以及恢复数据的完整性和一致性。 4. **数据导入导出效率**:描述中提到使用Navicat工具导入耗时5分钟,这可以作为参考,了解导入大文件的速度。不同工具和方法的...

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

Global site tag (gtag.js) - Google Analytics