一、題目描述
編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。二、題解±—±-----------------+
| id | email |
±—±-----------------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
±—±-----------------+
id 是這個表的主鍵。
例如,在執行你的查詢語句之後,上面的 person 表應返回以下幾行:
±—±-----------------+
| id | email |
±—±-----------------+
| 1 | [email protected] |
| 2 | [email protected] |
±—±-----------------+
方法一:delete + join
我們可以使用如下**將person表與其自身結合起來
select
*from person p1 join person p2 on p1.email = p2.email;
然後查詢出id較大的
select
*from person p1 join person p2 on p1.email = p2.email and p1.id > p2.id;``
`最後轉化為delete子句``
`sql
delete p1
from person p1 join person p2
on p1.email = p2.email and p1.id>p2.id;
當然也可可以使用where語句
delete p1 from person p1,person p2
where p1.email = p2.email and p1.id>p2.id;
196 刪除重複的電子郵箱
編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。id email 1 john example.com 2 bob example.com 3 john example.com id 是這個表的主鍵。例如,在執行你的查詢語句之後,上面的 ...
leetcode 196 刪除重複的電子郵箱
編寫乙個sql查詢來刪除person表中所有重複的電子郵件,在重複的郵件中只保留id最小的郵件。id email 1 john example.com 2 bob example.com 3 john example.com id是這個表的主鍵.例如,在執行查詢之後,上面的person表應顯示以下幾...
LeetCode 196 刪除重複的電子郵箱
題目 編寫乙個 sql 查詢,來刪除 person 表中所有重複的電子郵箱,重複的郵箱裡只保留 id 最小 的那個。id email 1 john example.com 2 bob example.com 3 john example.com id 是這個表的主鍵。例如,在執行你的查詢語句之後,上...