MySQLで重複行を削除する方法は何ですか?

重複行を削除するには、以下の手順を使用できます。

  1. 重複した行を見つけるには、SELECT文とGROUP BY句を使用します。例えば、table1という名前のテーブルがあり、その中にnameとageの2つの列があるとします。次のクエリを使用して、重複したnameとageの組み合わせを見つけることができます。
SELECT name, age, COUNT(*) FROM table1 GROUP BY name, age HAVING COUNT(*) > 1;
  1. 一時テーブルを作成します:DELETE文で削除する重複する行を保存する一時テーブルをCREATE TABLE文を使用して作成します。例えば、temp_tableという名前の一時テーブルを作成し、nameとageの列を持つようにします。
CREATE TABLE temp_table AS SELECT name, age FROM table1 GROUP BY name, age HAVING COUNT(*) > 1;
  1. 重複した行を削除するには、DELETE文とINNER JOIN句を使用します。一時テーブルと元のテーブルをINNER JOINして、削除すべき重複した行を特定します。
DELETE table1 FROM table1 INNER JOIN temp_table ON table1.name = temp_table.name AND table1.age = temp_table.age;
  1. 一時テーブルを削除し、メモリスペースを解放します。
DROP TABLE temp_table;

上記の手順を実行することで、MySQLテーブル内の重複行を削除することができます。削除操作を実行する前に、データのバックアップを取ることをお勧めします。突然の削除を防ぐためです。

bannerAds