T-sql-distinct-clause
提供:Dev Guides
T-SQL-DISTINCT句
MS SQL Serverの DISTINCT キーワードをSELECTステートメントと組み合わせて使用して、重複するレコードをすべて削除し、一意のレコードのみを取得します。
テーブルに複数の重複レコードがある場合があります。 そのようなレコードをフェッチするとき、重複レコードをフェッチするのではなく、一意のレコードのみをフェッチする方が理にかなっています。
構文
以下は、重複レコードを排除するためのDISTINCTキーワードの基本的な構文です。
SELECT DISTINCT column1, column2,.....columnN
FROM table_name
WHERE [condition]
例
次のレコードを持つCUSTOMERSテーブルを検討してください。
ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 MP 4500.00
7 Muffy 24 Indore 10000.00
次のSELECTクエリが重複する給与レコードを返す方法を見てみましょう。
SELECT SALARY FROM CUSTOMERS
ORDER BY SALARY
上記のコマンドは、給与2000が2回来る次の出力を生成します。これは、元のテーブルからの重複レコードです。
SALARY
1500.00
2000.00
2000.00
4500.00
6500.00
8500.00
10000.00
上記のSELECTクエリでDISTINCTキーワードを使用して、結果を確認してみましょう。
SELECT DISTINCT SALARY FROM CUSTOMERS
ORDER BY SALARY
上記のコマンドは、重複するエントリがない次の出力を生成します。
SALARY
1500.00
2000.00
4500.00
6500.00
8500.00
10000.00