【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.Id | |
---|---|
1 | john@example.com |
2 | bob@example.com |
3 | john@example.com |
For example, after running your query, the above Person table should have the following rows:
Id | |
---|---|
1 | john@example.com |
2 | bob@example.com |
代码
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;