请考虑以下代码:
SELECT s, COUNT(*)
FROM p
GROUP BY s;
我应该期望记录相对于 s 进行排序吗?根据我的经验,在 Access 2007 中,命令似乎意味着订单。
在使用 SQL 时,永远不应该做出这样的假设。 最好添加一个明确的ORDER BY
:
order by s
这是因为 SQL(语言(不保证没有ORDER BY
的结果集的排序。
也就是说,MS Access将按顺序返回结果,因为我认为它只有一种算法来计算ORDER BY
- 对列表进行排序。
但是,肯定还有其他算法。 例如,SQL Server具有基于哈希的算法和并行算法。
因此,您不妨学习如何编写正确的查询。