2
在我的MySQL數據庫中,我有類似這樣的一個表:MySQL的刪除重複的日期行保持最新的一個
Data |Val | Val2
2016-11-11 14:48:38 |10 | 20
2016-11-11 14:48:38 |30 | 40
2016-11-06 11:48:38 |50 | 60
2016-11-08 19:48:38 |70 | 80
2016-11-06 11:48:38 |90 |100
2016-11-16 10:13:37 |100 |110
2016-11-16 10:13:37 |120 |130
2016-11-16 10:16:43 |140 |150
2016-11-16 10:13:37 |140 |150
有時候在我的數據庫,我可以有重複的日期(數據),但對於不同的值( val,val2),我希望刪除數據庫中插入的最後一個數據以外的所有重複數據。我怎樣才能做到這一點? 例如,對於我想要的結果上面的表格是:
Data |Val |Val2
11/11/2016 14:48 |30 |40
08/11/2016 19:48 |70 |80
06/11/2016 11:48 |90 |100
16/11/2016 10:16 |140 |150
16/11/2016 10:13 |140 |150
我使用sqlite3的,我可以達到我想要做
delete from table where rowid not in (select max(rowid) from table group by data)
,但我找不到等效爲MySQL。
你可以在這裏找到答案HTTP時,這將刪除最小
Val
://計算器.COM /問題s/2728413/oracle-s-rowid-in-mysql –你正在使用rowid的東西,所以如果表有一個主鍵你可以用它來得到相同的效果 –
1)SELECT&remember你想要的行,2)刪除所有行,3)插入保存的行?這並不漂亮,但... – Mawg