考虑以下
empname salary
a 10000
b 5000
c 5000
如果我select distinct salary from @t
输出
salary
5000
10000
已经排序......为什么会这样?
答案 0 :(得分:7)
鉴于没有明确的ORDER BY
,返回行的顺序是未定义的; DISTICT
可能会导致distinct-sort
(查看计划)操作,这可能就是为什么在您的示例中对它们进行排序的原因。
答案 1 :(得分:0)
实际上在这种情况下,由于sql-server引擎的优化算法不同,因此无法保证订单