1. 程式人生 > >【MYSQL】刪除重複的電話號碼

【MYSQL】刪除重複的電話號碼

編寫一個 SQL 查詢,來刪除 Person 表中所有重複的電話,重複的電話裡只保留 Id 最小 的那個。

例如,在執行你的查詢語句之後,上面的 Person 表應返回以下幾行:

 

解法一:分組找出最小的id,然後用not in()排除,剩下的都是可以刪的

Delete from person where id not in
(select p1.id from (select min(id) as id from person group by tel ) as p1)

解法二:兩表相聯,需要指定刪哪張,所以p1要加在delete後面

DELETE p1 from person p1,person p2 where p1.tel=p2.tel and p1.id > p2.id;