最近在做一个线上的排序需要用到数据的创建时间,但是因为数据都是之前一次性导入的,都是相同的,导致排序出现不稳定的情况,表现是页面的数据会重复出现,但是在mysql数据库中只有一条记录。
上面问题导致的原因是创建时间都是一样的,根据mysql官方的解释:
针对上面这个问题有两种解决方式:
SELECt * FROM orders
ORDER BY create_time, id DESC影响执行计划的一个因素是limit,因此有limit和无limit的按顺序查询可能返回不同顺序的行。考虑这个查询,它按category列排序,但与id列和评级列不确定:
mysql> SELECT * FROM ratings ORDER BY category;
+----+----------+--------+
| id | category | rating |
+----+----------+--------+
| 1 | 1 | 4.5 |
| 5 | 1 | 3.2 |
| 3 | 2 | 3.7 |
| 4 | 2 | 3.5 |
| 6 | 2 | 3.5 |
| 2 | 3 | 5.0 |
| 7 | 3 | 2.7 |
+----+----------+--------+包含limit可能会影响每个类别值内的行顺序。例如,这是一个有效的查询结果:
mysql> SELECT * FROM ratings ORDER BY category LIMIT 5;
+----+----------+--------+
| id | category | rating |
+----+----------+--------+
| 1 | 1 | 4.5 |
| 5 | 1 | 3.2 |
| 4 | 2 | 3.5 |
| 3 | 2 | 3.7 |
| 6 | 2 | 3.5 |
+----+----------+--------+在每种情况下,行都是按列排序的,这是SQL标准所要求的, 但最后的结果不一样,所以一定要注意。
v2ray 掉线问题解决指南v2ray Linux客户端设置教程法国电视剧 Éternelle / The Awakening / 觉醒 第一季(2009) 高清片源在线观看深入了解bifrostV v2rayng:软件安装、使用教程及常见问题解答2025年1月26日:高速日本(宇部温泉)油管-V2ray机场推荐和日本(吉野川市文化艺术中心)-日本(西宮酒蔵街)油管-V2ray节点Linode com:云主机服务详解与使用教程如何注册国内谷歌账户(保姆级详细图文教程)2023谷歌Gmail邮箱注册手机号无法验证的解决办法IP隧道和Shadowsocks:实现安全高效的网络代理noe vpn破解版详细教程利用 Linode VPS 搭建 Shadowsocks 代理服务器教程