加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:26:00 所属栏目:MsSql教程 来源:网络整理
导读:在SELECT查询中包含DISTINCT是否意味着应该对结果集进行排序? 我不认为它,但我正在寻找一个权威的答案(网络链接). 我有这样的查询: Select Distinct fooFrom Bar 在oracle中,结果是截然不同的,但不是按排序顺序排列的.在Jet / MS-Access中,似乎还有一些额外
在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子句,则不会按照定义对结果进行特定排序.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读