暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL按时间排序分页问题

摘星族 2018-06-06
804

题要叙述

 在按时间排序进行分页的时候,遇见了这样的问题。在查询所有的数据,并没有重复的数据出现,但是按时间排序,分页后有重复的数据。dodo不知道大家有没有遇见过。


建表是这样的:

    


然后查询这张表用户邀请表,并按创建时间进行排序。显示数据。


注释:注意图中标蓝的new_user_id


现在开始进行分页查询这条数据,并按创建时间进行排序:


查询的第一页

注释:注意图中标蓝的new_user_id

在这第一页中new_user_id的数据在第5个出现。


查询的第二页

注释:出现相同的数据new_user_id 的数据。

在这第二页中new_user_id的数据在第4个出现


查询的第三页

注释:出现相同的数据new_user_id 的数据。

在这第三页中new_user_id的数据在第1个出现


如果心细的人会发现,在这几张表中,创建的每行数据的create_time的时间都是相同的。


如果是不同的时间,不会出现按时间进行排序,并分页的重复数据



由此,可以看出,如果时间相同的情况下,MySQL通过时间进行排序,并进行分页查询大量数据的时候,会出现重复的数据的现象。


解决这个问题。可以先通过时间进行排序,如果时间相同的情况下,再根据ID,或者其他的字段去进行排序。



示例:

同样的数据。


查询的第一页


查询的第二页


查询的第三页

谨记:在尤其是经过存储过程导入的数据一定排序时要关注时间是否相同

欢迎关注




文章转载自摘星族,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论