MySQL订购错误

时间:2018-05-14 15:30:03

标签: mysql docker percona

我有一个表例如:id |名字| DATE_ADD

内容:

1| Mark | 2018-02-01 10:00:00

2| Andrew | 2018-02-01 10:00:00

当我尝试执行此请求时:select * from table order by date_add

我按下一个顺序获取行:2,1

它出现在Percona MySQL docker

在我的主机上使用相同的Percona,我得到了1,2顺序

如何在我的主机上启用Docker中的逻辑?

1 个答案:

答案 0 :(得分:4)

除非在ORDER BY子句中指定,否则行排序是不确定的。没有您应该获得的默认排序(或子排序)。

在这种情况下,您应该指定一个排序条款:

ORDER BY date_add, id

此行为可能会受到Percona或Docker的影响,但同样,您不应期望任何明显的"默认"即使在几分钟之间的查询之间进行排序也是如此。另请参阅What is the default Order By of queries?