您的位置:首页 > 数据库 > MySQL

【MySQL】【leetcode】 Delete Duplicate Emails解题报告

2015-10-20 15:27 525 查看

题目

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

IdEmail
1john@example.com
2bob@example.com
3john@example.com
Id is the primary key column for this table.

For example, after running your query, the above Person table should have the following rows:

IdEmail
1john@example.com
2bob@example.com
题目来源:https://leetcode.com/problems/delete-duplicate-emails/

代码

Email重复的话,保留ID最小的那条记录,其余的删除。

#方法一:
# Write your MySQL query statement below
delete from Person
where Id not in (
select * from (
select MIN(Id) from Person group by Email
) as tb
);
#方法二:
# Write your MySQL query statement below
delete p1
from  Person as p1, Person as p2
where p1.Email = p2.Email and p1.Id > p2.Id;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 mysql leetcode sql