重複レコードを含むテーブルがあり、新しいテーブルを作成せずにそれらを削除したいと考えています。一意の ID フィールドがあると仮定すると、次のクエリを使用できます:
DELETE FROM Table WHERE ID NOT IN ( SELECT MIN(ID) FROM Table GROUP BY Field1, Field2, Field3, ... )
例: 次のテーブルがあるとします:
id | action | L1_name | L1_data | ... | L11_data |
---|---|---|---|---|---|
1 | action1 | name1 | data1 | ... | company1 |
2 | action2 | name2 | data2 | ... | company2 |
3 | action1 | name1 | data1 | ... | company1 |
クエリは ID 3 の重複レコードを削除し、次の内容が残ります。 table:
id | action | L1_name | L1_data | ... | L11_data |
---|---|---|---|---|---|
1 | action1 | name1 | data1 | ... | company1 |
2 | action2 | name2 | data2 | ... | company2 |
注:
以上が新しいテーブルを作成せずにテーブルから重複行を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。