从数据库中删除重复的行

Sco*_*pil 3 sql database

我需要从数据库中删除重复的行。我可以用简单的 sql 查询来做吗?如果没有,请告诉我一些快速的算法来做到这一点。

例子:

id| field_one | field_two |
1 | 0000000   | 11111111  |
2 | 2222222   | 33333333  |
3 | 2222222   | 33333333  |
4 | 4444444   | 55555555  |
Run Code Online (Sandbox Code Playgroud)

我需要删除 id 为 2(或 3,无论如何,它们是相等的,但不是两者)的行。谢谢你的帮助

Thi*_*ilo 5

delete from the_table where id in
   (select max(id) from the_table
      group by field_one, field_two
      having count(*) > 1)
Run Code Online (Sandbox Code Playgroud)

正如评论中所指出的,如果一行出现 3 次,这将不起作用。您可以重复运行此(重)查询,直到它停止删除内容,或者等待更好的答案...