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