mysql用同样内容的数据排序,分页数据不固定?

发布于 2022-09-07 23:24:50 字数 669 浏览 23 评论 0

问题描述

表里面id是主键,created_at是时间戳,要查询的数据created_at都是1538125292

第一页:
SELECT * FROM 4s_active_slotmachine_import_player WHERE (area_id=18696) AND (active_id=6293) AND (is_del=0) ORDER BY created_at DESC LIMIT

第二页:
SELECT * FROM 4s_active_slotmachine_import_player WHERE (area_id=18696) AND (active_id=6293) AND (is_del=0) ORDER BY created_at DESC LIMIT 20 OFFSET 20

问题出现的环境背景及自己尝试过哪些方法

发现第二页出现了在第一页里面出现过的数据,如果查询不加order by就没问题,或者用id排序也没问题。
用相同值的created_at排序就会出现同样的数据出现在多页的情况。

这是什么情况?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沉睡月亮 2022-09-14 23:24:50

测试过,order by并不会导致limit分页数据重复,目测应该是sql语句问题

第一页
图片描述

第二页
图片描述

可以看出order by同一数据,并不影响分页

枯寂 2022-09-14 23:24:50

因为两次排序的结果不一样啊,order by出现相同的值,无法保证两次排序结果相同,所以这种情况建议使用多条件排序,第一个值相同的话去对比第二个值.

我偏爱纯白色 2022-09-14 23:24:50

MyISAM会根据索引里rowid随机读取数据,换InnoDB

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文