MySQLのDISTINCT句の使い方
MySQLのDISTINCTキーワードは、クエリ結果内の重複行を除き、一意の行のみを返すために使用されます。
DISTINCTの基本的文法は以下の通りです。
SELECT DISTINCT column1, column2, ...
FROM table_name;
この構文において、column1、column2 は検索する列名で、table_name はデータを取得するテーブル名です。
DISTINCTを使用した場合は、指定したすべての列を考慮し、指定した複数の列の組み合わせが結果の中で1つだけの場合、その組み合わせを返します。1つの列のみ指定した場合は、その列の重複がないことを確認するだけです。
例えば、「customers」という名前のテーブルがあると仮定します。このテーブルは以下のデータを格納します。
+----+----------+-----+
| ID | NAME | AGE |
+----+----------+-----+
| 1 | John | 25 |
| 2 | Alice | 30 |
| 3 | John | 35 |
| 4 | Bob | 25 |
+----+----------+-----+
「NAME」列を DISTINCT で照会すると、次のような結果が得られます。
+-------+
| NAME |
+-------+
| John |
| Alice |
| Bob |
+-------+
DISTINCTキーワードはSELECT文でのみ有効です。重複する行をINSERT文やUPDATE文から削除する必要がある場合は、UNIQUE制約を使用するか、一時テーブルとINSERT INTO SELECTステートメントの組み合わせを使用して重複の削除を実現します。