如果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
分享到:
相关推荐
本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...
1.或许有的人会用id+limit来实现上一条,下一条功能.但是.我们试想一下.有的业务并不是用id来排序的.那这样的方法就没效果了. 2.现在找到了生成rownum的方法,并且优化了执行速度. 3.直接上我项目里的sql,希望对大家...
mysql查询多少秒内的数据,分类统计用户,sum()函数的一个特殊用法 一条比较经典的语句mysql查询多少秒内的数据,分类统计用户,sum()函数的一个特殊用法 一条比较经典的语句mysql查询多少秒内的数据,分类统计用户,...
NULL 博文链接:https://onestopweb.iteye.com/blog/2318954
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
sql 查出一张表中重复...2、查询出所有数据进行分组之后,和重复数据的重复次数的查询数据,先列下: select count(username) as '重复次数',username from xi group by username having count(*)>1 order by userna
通过存储过程快速生成实验所需的随机数据,包含创建表,创建存储过程和调用存储过程
mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...
如何实现上一条、下一条的功能 适用asp、asp.net、sql、mysql
利用mysql的函数实现统计查询一天24小时的数据,然后统计时间没有的数据默认补上了零。
单条数据记录的插入;;单条数据记录的插入;● VALUES子句:包含各列需要插入的数据清单,数据的顺序要与列的顺序相对应。若表名后不给出列名,则在VALUES子句中要给出每一列(除IDENTITY和timestamp类型的列)的值,...
查重是我们在工作中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有...
当计算机的某个COM口有字符串数据进来时,自动触发事先设置好的字符串截取代码,处理后直接写入MySQL数据库某个数据表的一条新记录中,同时自动用一个时间字段记录下写入数据库的时间。 版本V2.0新增了可任意截取...
平时工作中可以用到的,将关联的表中的数据,用一条语句删除,节省数据库链接资源
主要介绍了Python3 操作 MySQL 插入一条数据并返回主键 id的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了Mysql查询最近一条记录的sql语句,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
MySQL数据查询优化,应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
Mysql取分组后的每组第一条数据 gruop by 分组后 进行 order by mysql会按照 先分组后排序的形式进行输出 并不能做到每组中的第一条数据取出。 我的思路是 : 先将要查询的数据表转换成已经排序的临时表 在进行 分组...
mysql 同时更新多行数据不同的值 一个复杂的多条件更新...在多数情况下,执行一条update语句会比执行多条update语句快得多。 需要注意,要考虑else情况,将原status赋值回去,否则会使不符合更新条件的字段值变为null