mysqlから重複データの削除
- 2010年 12月17日
mysqlから重複データの削除をしたい場合。
例えば、itemテーブルのcodeというカラムに同じデータが入っているものをひとつに統合する場合。
insert into item_temp SELECT * from item where id in ( select MAX(ID) FROM item GROUP BY code )
とする。
そのあと、item_tempを、リネームして、もとのテーブルを削除すればOK。
ただし、この場合は重複レコードのうち、IDが最大のものが残される。ほかに条件が必要な場合は、適宜、最後のSELECT文を書き換えればOK。
一手間かかってめんどくさいのだけど、この方法しか思いつかない。。。
もっと便利な方法あったら教えて!