2017-04-17 78 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

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