问题背景:MySQL数据库中,如果使用datetime,那其实只是精确到了秒。如果基于它排序并分页查询,若同一秒的数据超过一页,则多次查询得到的结果集可能会出现不一样的灵异事件。SQL:

SELECT * FROM table_name WHERE id> 100 order by create_time DESC;

其中create_time的类型是datetime,id是自增长主键。

问题分析:分页排序查询场景,大量数据为同一个create_time时,MySQL随机返回数据。MySQL数据库中datetimedatetime(n), 0<=n<=6 是有精度区别的,如果使用datetime,那其实只是精确到了秒。

问题解决:排序规则同时加上id,SQL如下:

SELECT * FROM table_name WHERE id> 100 order by create_time DESC, id desc;

  文章到这里就结束了,看完之后你有什么想法想要跟大家分享呢?评论区在等着你!

MySQL 根据时间排序失败的更多相关文章

  1. Mysql关于时间排序的问题

    SELECT * FROM table_name WHERE deleted = 0 order by create_time DESC 当用户使用DESC(降序时),最终得到的结果集,时间早的在前面 ...

  2. mysql查询根据时间排序

    表数据: mysql查询根据时间排序,如果有相同时间则只查询出来一个 所以需要再判断,如果时间相同,则根据id进行降序排序

  3. Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题

    Mysql数据库表排序规则不一致导致联表查询,索引不起作用问题 表更描述: 将mysql数据库中的worktask表添加ishaspic字段. 具体操作:(1)数据库worktask表新添是否有图片字 ...

  4. Mysql 主主复制失败恢复【转】

    Mysql 主主复制失败 Mysql 主主复制失败 故障描述 架构信息 节点信息 故障分析 同步AIPPRD2的从环境 同步AIPPRD1的从环境 故障描述 原因描述 因为机柜PDU老化, 导致整个机 ...

  5. MySQL字符集与排序规则总结

      字符集与排序规则概念 在数据库当中都有字符集和排序规则的概念, 很多开发人员甚至包括有些DBA都会将这个混淆,当然这个情况也有一些情有可原的原因.一来两者本来就是相辅相成,相互依赖关联: 另外一方 ...

  6. Mysql 根据时间取出每组数据中最新的一条

    下策——查询出结果后将时间排序后取第一条 select * from a where create_time<="2017-03-29 19:30:36"order by c ...

  7. Mysql 连续时间分组

    该方案:不限于本例的时间连续,也可适用于其他按连续分组. 连续条件 分组这问题困扰了很久,之前觉得在SQL上很难处理,都是在程序上做处理.后面实在有太多这需求了,所以只能想办法在SQL上处理了. 如下 ...

  8. mysql基于“时间”的盲注

    无需页面报错,根据页面响应时间做判断! mysql基于时间的盲注 =================================================================== ...

  9. 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示

    /// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...

  10. ls按时间排序输出文件列表

    文件转自:http://www.2cto.com/os/201303/197829.html ls按时间排序输出文件列表   首先,ls --help查看ls相关的与时间排序相关的参数:   > ...

随机推荐

  1. swoole(7)php进程间通信-消息队列

    php实现消息队列操作 ftok:可以将一个路径转换成消息队列可用的key值 msg_get_queue:第一个参数是消息队列的key 第二个参数是消息队列的读写权限 server代码: <?p ...

  2. 浅谈processing-java.exe应用程序的使用(与PowerShell的联合)

    简单总结一下processing-java.exe的使用,以及和PowerShell结合,如何互相调用和传参. Processing-java 这是 processing-java.exe 的官方说明 ...

  3. AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?

    一.前言:AI编程时代的双雄争霸 2025年3月,字节跳动推出的Trae以"国内首个AI原生IDE"之名杀入战场,直指海外明星产品Cursor的软肋.这场工具革命背后,是免费与付费 ...

  4. Windows编程----结束进程

    进程有启动就有终止,通过CreateProcess函数可以启动一个新的子进程,但是如何终结子进程呢?主要有四种方法: 通过主线程的入口函数(main函数.WinMain函数)的return关键字终止进 ...

  5. 云服务器下如何部署Flask项目详细操作步骤

    参考网上各种方案,再结合之前学过的Django部署方案,最后确定Flask总体部署是基于:centos7+nginx+uwsgi+python3+Flask之上做的. 本地windows开发测试好了我 ...

  6. AIX操作系统基本命令

    1,内核 bootinfo -k   2,硬件 bootinfo -r lscfg |grep proc lspv lscfg   3,操作系统 oslevel -r oslevel -s uname ...

  7. Docker学习笔记:Docker 网络配置

    2016-10-12 10:29:00 先知 转贴 51964 图:  Docker - container and lightweight virtualization Dokcer 通过使用 Li ...

  8. C# 多文件打包

    public HttpResponseMessage GetZip() { var response = Request.CreateResponse(HttpStatusCode.OK); try ...

  9. swich语句

    1.switch语句格式 括号内的是待匹配内容,然后case后的是被匹配内容,如果括号内的内容与case后的内容一致,则会打印语句体 . 2.实操(后面的省略了) 3.注意事项 1.case后面的值不 ...

  10. .NET & JSON

    C# & JSON DataContractJsonSerializer // JsonHelper.cs using System; using System.Collections.Gen ...