-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 に答える