-1

我有一个临时表,列出了按不同列排序的名称列表,例如

@table:

John, 1
Mary, 3
Mary, 5
Mary, 7
John, 8
Kyle, 9
Brad, 10

当我调用 simple 时select * from @table,这就是我得到的,但是当我调用 a 时,select distinct name from @table我得到了:

Kyle
John
Mary
Brad

为什么不使用就地订购?这是我不知道的 sql 怪癖吗?我希望(并希望)它是:

John
Mary
Kyle
Brad

编辑:附加问题:由于我在原始表上“排序”,是否有功能原因导致它不会持续存在?

4

1 回答 1

3

使用时,SELECT DISTINCT您不能按未选择的列排序。做你想做的最简单的方法是:

SELECT name FROM @table GROUP BY name ORDER BY min(id);
于 2013-03-07T21:20:48.140 回答