Mysql 分页order by一个相同字段,发现顺序错乱

两次分页查询,其中跳过了2个id

select * from jdp_tb_trade  where jdp_modified>=‘2017-04-24 20:22:01‘ and jdp_modified<=‘2017-04-24 20:23:05‘   order by jdp_modified asc limit 215,5;

select * from jdp_tb_trade  where jdp_modified>=‘2017-04-24 20:22:01‘ and jdp_modified<=‘2017-04-24 20:23:05‘   order by jdp_modified asc limit 220,5;

最后发现是因为order by:jdp_modified

而分页的数据jdp_modified都是相同的,导致了没有第二个排序的依据,导致顺序错乱

最后解决的办法是 order by jdp_modified,id ,在相同的情况下通过id进行排序,不会重复也不会变化

时间: 2024-12-20 01:20:05

Mysql 分页order by一个相同字段,发现顺序错乱的相关文章

mysql 中order by 与group by的顺序

mysql 中order by 与group by的顺序 是: select from where group by order by 注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效.要查出group by中最大的或最小的某一字段使用 max或min函数. 例: select sum(click_num) as totalnum,max(update_time) as upd

MySQL分页时使用 limit+order by 会出现数据重复问题

1.问题描述 在MySQL中我们通常会采用limit来进行翻页查询,比如limit(0,10)表示列出第一页的10条数据,limit(10,10)表示列出第二页.但是,当limit遇到order by的时候,可能会出现翻到第二页的时候,竟然又出现了第一页的记录. SELECT `post_title`, `post_date` FROM post WHERE `post_status` = 'publish' ORDER BY view_count desc LIMIT 5, 5 使用上述SQL

Mysql的ORDER BY 和Limit offset的一个问题,拿出来和大家研究下

今天碰到个很怪异的问题,如题关于mysql的ORDER BY 语句和Limit offset语句问题. bug再现下:select * from A a where a.culomn1 limit 5 offset 0 order by a.culomn1 asc 则出现sqlException,提示order by 这行有问题. 若将语句改为如下,将limit语句和order by 语句调换: select * from A a where a.culomn1 order by a.culom

MySQL分页优化中的“INNER JOIN方式优化分页算法”到底在什么情况下会生效?

本文出处:http://www.cnblogs.com/wy123/p/7003157.html 最近无意间看到一个MySQL分页优化的测试案例,并没有非常具体地说明测试场景的情况下,给出了一种经典的方案,因为现实中很多情况都不是固定不变的,能总结出来通用性的做法或者说是规律,是要考虑非常多的场景的,同时,面对能够达到优化的方式要追究其原因,同样的做法,换了个场景,达不到优化效果的,还要追究其原因.个人对此场景在不用情况表示怀疑,然后自己测试了一把,果然发现一些问题,同时也证实了一些预期的想法.

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库,在order by排序的时候,如果存在NULL值,那么NULL是最小的,ASC正序排序的话,NULL值是在最前面的. 如果我们想让NULL排在后面,让非NULL的行排在前面该怎么做呢? MySQL数据库在设计的时候,如果字段允许NULL值,那么对该字段进行排序的时候需要注意那些值为NULL的行. 我们知道NULL的意思表示什么都不是,或者理解成"未知"也可以,它与任何值比较的结果都是false, 默认情况下,My

微软企业库5.0 调用 MySql 分页存储过程

1.需要完成两个前置条件后才可以使用 微软企业库5.0 调用 MySql 存储过程 微软企业库5.0 支持 MySql MySql 分页存储过程 2.需要添加一个继承 IParameterMapper 接口的类分配查询参数 using System.Data; using System.Data.Common; using Microsoft.Practices.EnterpriseLibrary.Data; using Grass.Extend; namespace Grass.MySqlDa

SpringMVC+Mybatis实现的Mysql分页数据查询

周末这天手痒,正好没事干,想着写一个分页的例子出来给大家分享一下. 这个案例分前端和后台两部分,前端使用面向对象的方式写的,里面用到了一些回调函数和事件代理,有兴趣的朋友可以研究一下.后台的实现技术是将分页Pager作为一个实体对象放到domain层,当前页.单页数据量.当前页开始数.当前页结束数.总数据条数.总页数都作为成员属性放到实体类里面. 以前项目数据库用的是oracle,sql语句的写法会从当前页开始数到当前页结束数查询数据.刚刚在这纠结了很长时间,查询到的数据显示数量总是有偏差,后来

MySQL 分页数据错乱重复

select xx from table_name wheere xxx order by 字段A limit offset;, 表数据总共 48 条,分页数量正常,但出现了结果混杂的情况,第一页的数据出现在了第二页上:如果 order by 字段B 就不会出现这个现象,怎么会这样呢! If multiple rows have identical values in the ORDER BY columns, the server is free to return those rows in

解决mysql分页数据错乱问题

今天同事遇到个麻烦的问题,写了一个分页的功能,结果查出来的数据竟然有重复,有些数据同时在相邻的两页出现了, 但是查询总数据不分页的时候又只有一条,这里主要是排序的问题,在mysql中用 order by 排序的时候,如果排序字段中有相同的结果, 则排序结果是不确定的,每一个分页查询,这几个相同的数据就会乱序,导致查询的数据不准确,解决办法就是在需要用比较容易相等的 字段排序时,可以再增加一个排序字段,最后用id啥的,即:order by 字段A desc,Id desc; 记录一下,以后遇到了就