在我的数据库中,我有一些记录,我按照NULL值进行排序:
| col1 | col2 |
| row1 | NULL |
| row2 | NULL |
SELECT ... ORDER BY col2
即使所有值都相同(NULL),我也希望MySQL以一致的顺序返回结果,但它们显然是随机的。我运行查询一百次,每次都会以不同的顺序返回结果。我找不到任何MySQL文档。有bug吗?或者这是一个记录在案的“功能”?
答案 0 :(得分:7)
这是预期的行为。只要遵循“Order By”,数据库引擎就可以按任何顺序自由返回行。如果你想要一致性,那么试试:
select ... order by col2, some-unique-id
其中some-unique-id是表中唯一的列。
答案 1 :(得分:0)
将您的查询更改为
选择....按col2,col1
排序
或您需要的任何其他列