sql – SELECT DISTINCT是否意味着某种结果

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

我不认为它,但我正在寻找一个权威的答案(网络链接).

我有这样的查询

Select Distinct foo
From Bar

在oracle中,结果是截然不同的,但不是按排序顺序排列的.在Jet / MS-Access中,似乎还有一些额外的工作要确保结果是排序的.我假设oracle在这种情况下遵循规范并且MS Access已经超越了.

另外,有没有办法可以给表提示它应该在foo上排序(除非另有说明)?

解决方法

SQL92 specification

If DISTINCT is specified,then let TXA be the result of eliminating redundant duplicate values from TX. Otherwise,let TXA be TX.

4) If an is not specified,then the ordering of the rows of Q is implementation-dependent.

最终真正的答案是DISTINCT和ORDER BY是sql语句的两个独立部分;如果您没有ORDER BY子句,则不会按照定义对结果进行特定排序.

相关文章

(一)日志传送架构 (1.1)相关服务器 主服务器 :用于生产的服务器,上面运行这生产SQL Server数据库...
(一)事故背景 最近在SQL Server 2012生产数据库上配置完事物复制(发布订阅)后,生产数据库业务出现了...
(一)测试目的 目前公司使用的SQL SERVER 2012高可用环境为主备模式,其中主库可执行读写操作,备库既...
(一)背景个人在使用sql server时,用到了sql server的发布订阅来做主从同步,类似MySQL的异步复制。在...
UNION和OR谓词 找出 product 和 product2 中售价高于 500 的商品的基本信息. select * from product wh...
datawhale组队学习task03