ホームページ >バックエンド開発 >PHPチュートリアル >mysqlで重複したレコードを削除する方法
mysql
テーブル名は tongxunlu 、フィールド ID は sXingMing sXingBie dtShengRi例を示します重複を判断する方法。
手動削除。 。
sXingMing sXingBie dtShengRi のフィールド値が同じかどうかを直接判断し、必要に応じて削除できます
重複レコードを削除します
delete from tongxunlu a where rowid not in(select max(rowid) from tongxunlu where id=a.id and sXingMing=a.sXingMing and sXingBie=a. sXingBie and dtShengRi=a.dtShengRi);
delete from tongxunlu where id not in(select max(id) from tongxunlu group by id sXingMing sXingBie dtShengRi;
まずデータの数について話しましょう。
データがあまりない場合は、データ テーブルをバックアップし、元のテーブルをクリアし、バックアップ データ テーブルを foreach でスキャンして、一意のものを元のテーブルに挿入します。
これで問題は解決します。それほど高度なことを行う必要はありません。
サードパーティのツールを使用して直接削除されたデータはほんの一部です。
delete from tb1 where id in(select id,count(id) as tt from tb.where getting tt>1)
実行には確実に一定の時間がかかります、キーはデータの量によって異なります
delete from tb1 where id in(select id,count(id) as tt from tb.where getting tt>1 group by $fn)
失われたグループ by
学びました
気分と技術的な生活を解放しましょう