MySQL命令以(不需要的)随机顺序返回

时间:2011-04-05 21:37:39

标签: mysql

在我的数据库中,我有一些记录,我按照NULL值进行排序:

| col1 | col2 |
| row1 | NULL |
| row2 | NULL |

SELECT ... ORDER BY col2

即使所有值都相同(NULL),我也希望MySQL以一致的顺序返回结果,但它们显然是随机的。我运行查询一百次,每次都会以不同的顺序返回结果。我找不到任何MySQL文档。有bug吗?或者这是一个记录在案的“功能”?

2 个答案:

答案 0 :(得分:7)

这是预期的行为。只要遵循“Order By”,数据库引擎就可以按任何顺序自由返回行。如果你想要一致性,那么试试:

select ... order by col2, some-unique-id

其中some-unique-id是表中唯一的列。

答案 1 :(得分:0)

将您的查询更改为

  

选择....按col2,col1

排序

或您需要的任何其他列