重複レコードをSQLデータベースから一括削除:(Nucleusの使い方) にその方法が紹介されている。
- 対象のテーブルから重複レコードを除いて新しいテーブルにすべてのレコードを重複なしで書き出す
- もとのテーブルを削除
- 新しいテーブル名を変更
これはあまりスマートな方法を思えなかったので、他に方法はないか、あちこち探し回ってみたものの、うまい方法が見つからなかった。
SQL 文としては、以下のようになる。field_1、field_2(増やしてもよい)は、重複に関係するフィールドである。
CREATE TABLE temp_table as SELECT * FROM main_table GROUP BY field_1, field_2;
DROP TABLE main_table;
ALTER TABLE temp_table RENAME TO main_table;
トラックバック URL:
https://perltips.twinkle.cc/trackback/96