mysql排序问题--某些记录重复出现在不同页中
高洛峰
高洛峰 2017-04-17 13:56:58
[MySQL讨论组]

偶然发现的mysql排序问题 如有如下的这么一张表

select * from t;
+----+------+-------+---------------------+
| id | name | price | create_time         |
+----+------+-------+---------------------+
|  1 | a    |     1 | 2016-03-16 14:15:37 |
|  2 | b    |     1 | 2016-03-16 14:15:42 |
|  3 | c    |     1 | 2016-03-16 14:15:45 |
|  4 | d    |     1 | 2016-03-16 14:15:47 |
|  5 | e    |     1 | 2016-03-16 14:15:51 |
|  6 | f    |     1 | 2016-03-16 14:15:54 |
|  7 | g    |     1 | 2016-03-16 14:15:56 |
|  8 | h    |     1 | 2016-03-16 14:15:59 |
|  9 | i    |     1 | 2016-03-16 14:16:04 |
| 10 | j    |     1 | 2016-03-16 14:16:07 |
| 11 | k    |     1 | 2016-03-16 14:16:11 |
+----+------+-------+---------------------+
#第一页
select * from t order by price limit 0,5;
+----+------+-------+---------------------+
| id | name | price | create_time         |
+----+------+-------+---------------------+
| 11 | k    |     1 | 2016-03-16 14:16:11 |
|  2 | b    |     1 | 2016-03-16 14:15:42 |
|  3 | c    |     1 | 2016-03-16 14:15:45 |
|  4 | d    |     1 | 2016-03-16 14:15:47 |
|  5 | e    |     1 | 2016-03-16 14:15:51 |
+----+------+-------+---------------------+
#第二页 b、c、d、e 在第二页中重复出现了
select * from t order by price limit 5,5;
+----+------+-------+---------------------+
| id | name | price | create_time         |
+----+------+-------+---------------------+
|  6 | f    |     1 | 2016-03-16 14:15:54 |
|  5 | e    |     1 | 2016-03-16 14:15:51 |
|  4 | d    |     1 | 2016-03-16 14:15:47 |
|  3 | c    |     1 | 2016-03-16 14:15:45 |
|  2 | b    |     1 | 2016-03-16 14:15:42 |
+----+------+-------+---------------------+

似乎按照某一字段排序, 且许多记录存在相同的取值的话, mysql似乎会随机排序, 于是就会出现上述现象, 某些记录重复出现在不同页中。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
迷茫

是的,mysql对于有重复值的排序,不保证每次返回的结果是相同的,

如果需要每次返回结果相同,请order by 多列,如order by price,id

天蓬老师

感谢楼主的分享,平常真还没注意到,这样的话只能order by多个条件试试了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号