美文网首页
196. Delete Duplicate Emails

196. Delete Duplicate Emails

作者: 无敌的肉包 | 来源:发表于2018-06-07 16:23 被阅读0次

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+

Id is the primary key column for this table.
For example, after running your query, the above Persontable should have the following rows:

+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+

DELETE p1 
FROM Person p1,    Person p2
WHERE    p1.Email = p2.Email AND p1.Id > p2.Id
DELETE *
FROM Person p1
WHERE p1.Id NOT IN(
    SELECT MIN(Id) as Id
    FROM Person
    GROPY BY Email
    )
DELETE p1  
FROM Person p1 inner join Person p2  
on p1.Email = p2.Email AND p1.Id > p2.Id  

相关文章

网友评论

      本文标题:196. Delete Duplicate Emails

      本文链接:https://www.haomeiwen.com/subject/vsigsftx.html