我一直在試圖從表中刪除重複的行,但是我所有的努力要麼導致錯誤,要麼在執行過程中卡住。我的表格有1680萬條記錄,其中包括150萬個重複記錄。 表結構如下刪除重複的行MySQL
--------------------------------------
| id | number | city | region | site |
--------------------------------------
| 1 | 12345 | abc | xyz | 321 |
| 2 | 67890 | def | axc | 167 |
| 3 | 12345 | abc | xyz | 321 |
| 4 | 13400 | fff | aaa | 301 |
--------------------------------------
我一直在使用一些答案在這裏堆棧溢出提出的方法的嘗試,但找不到任何爲我工作的解決方案。
DELETE n1 FROM data n1, data n2 WHERE n1.id > n2.id AND n1.number = n2.number
沒有工作,所以我嘗試以下操作:
DELETE FROM data where data.number in
(
SELECT number from data GROUP BY number HAVING COUNT(*)>1
)
LIMIT 1
沒有用在這裏無論是讓我堅持。歡迎各種建議。
這工作對我來說
馬克-B標出任stackoverflow.com/a/3312066/1528290重複嘗試這種方法和它的工作就像一個魅力的解決方案。 我的查詢語句:
alter ignore table data add unique i_number (number)
http://stackoverflow.com/questions/30401571/how-to-remove-duplicate-row-considering-the-arabic-phonetics/30402156#30402156 – Uueerdo
@ B-阿巴斯。你是否希望刪除所有重複行的出現?或者你是否希望爲每一組重複行保留一行? – DfrDkn
爲什麼'DELETE n1 FROM data n1,data n2 WHERE n1.id> n2.id AND n1.number = n2.number' not work?發生了什麼錯誤? – johnjps111