一尘不染

SELECT DISTINCT是否暗示某种结果

sql

在SELECT查询中包含DISTINCT是否意味着应该对结果集进行排序?

我认为没有,但是我正在寻找权威的答案(网络链接)。

我有这样的查询:

Select Distinct foo
From Bar

在oracle中,结果是不同的,但未按排序顺序。在Jet / MS-
Access中,似乎需要做一些额外的工作来确保结果是分类的。我假设在这种情况下oracle遵循了规范,而MS Access已经超越了规范。

另外,有没有一种方法可以给表一个提示,提示该表应该在该表上进行排序foo(除非另有说明)?


阅读 246

收藏
2021-05-16

共1个答案

一尘不染

根据SQL92规范

如果指定了DISTINCT,则使TXA为从TX中消除冗余重复值的结果。否则,将TXA设为TX。

4)如果未指定an,则Q行的顺序与实现有关。

最终,真正的答案是DISTINCT和ORDER BY是SQL语句的两个独立部分。如果您没有ORDER BY子句,则根据定义,结果将不会特别排序。

2021-05-16