1. 程式人生 > 其它 >196. 刪除重複的電子郵箱(SQL)

196. 刪除重複的電子郵箱(SQL)

技術標籤:databaseleetcode easyleetcode

題目:https://leetcode-cn.com/problems/delete-duplicate-emails/

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

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected]

|
+----+------------------+
Id 是這個表的主鍵。
例如,在執行你的查詢語句之後,上面的 Person 表應返回以下幾行:

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
+----+------------------+

提示:

執行 SQL 之後,輸出是整個 Person表。
使用 delete 語句。

程式碼:

DELETE P1 FROM Person P1, Person P2 WHERE P1.Email = P2.Email AND P1.Id > P2.Id

DELETE p1就表示從p1表中刪除滿足WHERE條件的記錄,p1和p2都是指向原表的