使用distinct子句进行排序

时间:2011-07-01 11:33:41

标签: sql sql-server

考虑以下

empname salary
a   10000
b   5000
c   5000

如果我select distinct salary from @t

输出

salary
5000
10000

已经排序......为什么会这样?

2 个答案:

答案 0 :(得分:7)

鉴于没有明确的ORDER BY,返回行的顺序是未定义的; DISTICT可能会导致distinct-sort(查看计划)操作,这可能就是为什么在您的示例中对它们进行排序的原因。

答案 1 :(得分:0)

实际上在这种情况下,由于sql-server引擎的优化算法不同,因此无法保证订单