mysqlはテーブル内の重複行を削除します

1 まず、デモンストレーション用のテーブルを作成します。図に示すように、最初にテーブルを作成します
ここに画像の説明を挿入

2 次に、コマンド ラインに切り替えてデータベース内のテーブルの内容を表示します。確かに重複した項目があります。

ここに画像の説明を挿入

3 最初に重複行をクエリして取り除きます
ここに画像の説明を挿入

4 次に、このテーブルに表示されるデータを削除し、各グループで最大の ID を持つ行のみを保持したいと思います。そのため、max 関数を使用して最大の行をクエリする必要があります。そのため、最初にこれらの ID が存在しないことを確認します。最大の行にある、または
ここに画像の説明を挿入ID をクエリします。これらの最大値は
ここに画像の説明を挿入
、これらの非反復行には含まれません。これらは削除できます。

delete from deleteDuplicate where id not in (select t.maxId from (select max(id) as maxId from deleteDuplicate group by name,age,country) t);

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/m0_56184347/article/details/124505557