在我的数据库中,我有一些记录,我感到发生了什么是一个NULL值排序返回:MySQL的顺序是(不需要)随机顺序
| col1 | col2 |
| row1 | NULL |
| row2 | NULL |
SELECT ... ORDER BY col2
即使所有的值相同(NULL ),我希望MySQL以一致的顺序返回结果,但它们显然是随机的。我运行这个查询一百次,每隔一段时间就会以不同的顺序返回结果。我找不到任何MySQL文档。有错误吗?或者这是一个记录的“功能”?
在我的数据库中,我有一些记录,我感到发生了什么是一个NULL值排序返回:MySQL的顺序是(不需要)随机顺序
| col1 | col2 |
| row1 | NULL |
| row2 | NULL |
SELECT ... ORDER BY col2
即使所有的值相同(NULL ),我希望MySQL以一致的顺序返回结果,但它们显然是随机的。我运行这个查询一百次,每隔一段时间就会以不同的顺序返回结果。我找不到任何MySQL文档。有错误吗?或者这是一个记录的“功能”?
这是预期的行为。只要“Order By”得到遵守,数据库引擎就可以按任意顺序自由返回行。如果你想要一致,那么试试:
select ... order by col2, some-unique-id
where some-unique-id是表中唯一的一列。
好的,这就是我的想法。我可以很容易地添加第二个子句,但我只是想知道使用一个子句的结果是一致的还是随机的。 – Andrew 2011-04-08 16:28:16
改变您的查询
选择....为了通过COL2,COL1
或任何其他列则需要
在哪里/什么是 “极限” 规范,如果任何? – 2011-04-05 21:43:07