当前位置: 移动技术网 > IT编程>数据库>Mysql > [LeetCode] 196.删除重复的电子邮箱

[LeetCode] 196.删除重复的电子邮箱

2019年06月23日  | 移动技术网IT编程  | 我要评论
编写一个 SQL 查询,来删除 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。 例如,在运行你的查询语句之后,上面的 表应返回以下几行: + + + | Id | Email | + + + | 1 | john@example.com | | 2 | bob@example.co ...

编写一个 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 |
+----+------------------+

题解:

技巧:将同一个表select两次,分别为表a,表b

delete p1.* from
    person p1,person p2
where
    p1.email = p2.email and p1.id > p2.id;

摘自:

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网