我有一個表有學生ID和學生的電子郵件地址,我想刪除重複的電子郵件地址,我使用MySQL並想知道任何好的解決方案。對於任何重複的電子郵件地址,請保持一個沒問題。使用SQL刪除表中的重複記錄
樣品輸入,
ID1 [email protected]
ID2 [email protected]
ID3 [email protected]
示例輸出,
ID1 [email protected]
ID2 [email protected]
在此先感謝, 林
我有一個表有學生ID和學生的電子郵件地址,我想刪除重複的電子郵件地址,我使用MySQL並想知道任何好的解決方案。對於任何重複的電子郵件地址,請保持一個沒問題。使用SQL刪除表中的重複記錄
樣品輸入,
ID1 [email protected]
ID2 [email protected]
ID3 [email protected]
示例輸出,
ID1 [email protected]
ID2 [email protected]
在此先感謝, 林
可以使用加入和保留新的或舊的ID作爲刪除數據根據您的願望和在這裏如何完成
delete t1 from table_name t1
join table_name t2 on t1.email = t2.email and t1.id > t2.id
這將保持舊的ID爲重複值 http://sqlfiddle.com/#!9/9d2925/1
如果你想那麼新的ID更改t1.id > t2.id
到t1.id < t2.id
聰明而聰明。 :) –
只是想知道SQL引擎如何執行底層的查詢。如果SQL引擎枚舉所有對並且以成對方式刪除較小的id,那麼不確定所有聯接組在每個組內,如果是的話,複雜性將很大。 –
你應該若已中的電子郵件地址數據庫中插入電子郵件時使用驗證...退出拋出電子郵件已存在的錯誤, –
@RahmanQaiser,感謝您的建議,並已在那裏複製。任何建議表示讚賞。 :) –
@ LinMa是那些ID是整數? –