MySQL 根据时间排序失败
2021/12/25 19:10:09
本文主要是介绍MySQL 根据时间排序失败,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题背景:MySQL数据库中,如果使用datetime,那其实只是精确到了秒。如果基于它排序并分页查询,若同一秒的数据超过一页,则多次查询得到的结果集可能会出现不一样的灵异事件。SQL:
SELECT * FROM table_name WHERE id> 100 order by create_time DESC;
其中create_time的类型是datetime,id是自增长主键。
问题分析:分页排序查询场景,大量数据为同一个create_time时,MySQL随机返回数据。MySQL数据库中datetime和datetime(n), 0<=n<=6 是有精度区别的,如果使用datetime,那其实只是精确到了秒。
问题解决:排序规则同时加上id,SQL如下:
SELECT * FROM table_name WHERE id> 100 order by create_time DESC, id desc;
文章到这里就结束了,看完之后你有什么想法想要跟大家分享呢?评论区在等着你!
这篇关于MySQL 根据时间排序失败的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25如何部署MySQL集群资料:新手入门教程
- 2024-12-24MySQL集群部署资料:新手入门教程
- 2024-12-24MySQL集群资料详解:新手入门教程
- 2024-12-24MySQL集群部署入门教程
- 2024-12-24部署MySQL集群学习:新手入门教程
- 2024-12-24部署MySQL集群入门:一步一步搭建指南
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南