MySQL で重複行を削除する方法
重複行を削除する方法:
- DISTINCTキーワードを使う: SELECT文でDISTINCTキーワードを使用すると、結果セットの重複する行を削除できます。例:
- SELECT DISTINCT column1, column2 FROM table;
- GROUP BY句を使用して:SELECT文にGROUP BY句を使用することで、結果セットをグループ化し、またそのグループを基に重複行を削除できます。例えば:
- SELECT column1, column2 FROM table GROUP BY column1, column2;
- GROUP BY句の後ろにHAVING句を追加することで、さらにグループ化した結果セットをフィルタリングして、重複行を削除できます。例えば:
- カラム1、カラム2をテーブルから選択し、カラム1、カラム2でグループ化し、カウント(*)が1より大きい行を取得します。
- 副問合せを使用して、重複する行を排除します。重複しない列を副問合せの結果にし、その副問合せを主問合せの列として指定します。例えば:
- SELECT column1, column2, (SELECT column3 FROM table WHERE condition) AS column3 FROM table;
- 一時テーブルを利用する。重複を削除したいデータを一時テーブルを作成して挿入し、一時テーブル上で重複削除を行います。例:
- CREATE TEMPORARY TABLE temp_table AS SELECT DISTINCT column1, column2 FROM table;
SELECT * FROM temp_table;
よく使用される重複行の削除方法をいくつかご紹介しますので、状況に合わせて適切な方法を選択してください。