2017-04-17 40 views
0

实际上我正在寻找一个sql语句,它删除我的重复记录直到删除0行。删除重复项直到删除0行的SQL解决方案

下面的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行被删除。

非常感谢您的建议。 :)

回答

1

如何一次删除所有?

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 
        ); 
+0

非常感谢您的反馈,它工作得很好:) –