English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SQLite DISTINCT关键字

SQLite DISTINCTキーワードはSELECT文と組み合わせて使用され、すべての重複記録を取り除き、唯一の記録のみを取得します。

テーブルに複数の重複記録がある場合、このような状況が発生する可能性があります。このような記録を取得する際には、重複記録ではなく、唯一の記録を取得する方がより意味があります。

文法

以下はDISTINCTキーワードで重複記録を取り除き、唯一の記録のみを取得する基本的な文法です。

SELECT DISTINCT column1, column2,.....columnN FROM table_name
WHERE [condition]

オンラインサンプル

以下の記録を持つCOMPANYテーブルを考慮してみましょう。

ID         NAME       AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          カリフォルニア  20000.0
2           Allen       25          テキサス       15000.0
3           Teddy       23          ノルウェイ      20000.0
4           Mark        25          リッチ-モンド   65000.0
5           David       27          テキサス       85000.0
6           Kim         22          サウス-ホール  45000.0
7           James       24          ヒューストン     10000.0
8           Paul        24          ヒューストン     20000.0
9           James       44          ノルウェイ      5000.0
10          James       45          テキサス       5000.0

まず、以下のSELECTクエリがどのように重複する給料記録を返すかを見てみましょう。

sqlite> SELECT name FROM COMPANY;

以下の結果が生成されます。

NAME
----------
Paul
Allen
Teddy
Mark
David
Kim
James
Paul
James
James

今、私たちはDISTINCT上記のSELECTクエリでキーワードを使用して結果を確認します。

sqlite> SELECT DISTINCT name FROM COMPANY;

これにより、重複するエントリは含まれない以下の結果が生成されます。

NAME
----------
Paul
Allen
Teddy
Mark
David
Kim
James