SQL删除重复项直到删除0行的解决方案

SQL Solution for deleting duplicates till 0 rows deleted

实际上我正在寻找 sql 语句,它会删除我的重复记录,直到删除 0 行。

下面的 sql 语句已经删除了重复的记录,但我必须多次执行它直到删除 0 行。

delete from results_table where rowid in
            (select min(rowID)  from results_table
            group by u_name||u_date
            having count(*) > 1 )

我的结论是运行它只删除一次,直到删除 0 行。

非常感谢您的建议。 :)

一次性全部删除如何?

delete from results_table
where rowid not in (select min(rowID)
                    from results_table
                    group by u_name, u_date
                   );

或者,因为您似乎想要 最大 行 ID:

delete from results_table
where rowid not in (select max(rowID)
                    from results_table
                    group by u_name, u_date
                   );