196. 删除重复的电子邮箱
一、题目描述
编写一个SQL查询,来删除Person表中所有重复的电子邮箱,重复的邮箱只保留Id最小的那个。
Id | |
---|---|
1 | john@example.com |
2 | bob@example.com |
3 | john@example.com |
Id是这个表的主键
例如,在运行你的查询语句之后,上面的Person表应返回以下几行:
Id | |
---|---|
1 | john@example.com |
2 | bob@example.com |
二、思路分析
两表自连,然后使用WHERE语句筛选出符合题意的结果。
三、代码实现
DELETE
P1
FROM
Person P1,
Person P2
WHERE
P1.Email = P2.Email
AND P1.Id > P2.Id