领扣(leetcode)

197. 删除重复的电子邮箱

2018-09-23  本文已影响0人  莫小鹏

题目描述

编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。

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

Id 是这个表的主键。
例如,在运行你的查询语句之后,上面的 Person 表应返回以下几行:

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

分析

连表, 连表的条件是a.Email = b.Email

代码

DELETE 
    a
FROM
    Person a,
    Person b
WHERE
    a.Email = b.Email AND a.Id > b.Id
;

题目链接

https://leetcode-cn.com/problems/delete-duplicate-emails/description/

上一篇下一篇

猜你喜欢

热点阅读