LeetCode数据库题
2020-06-13 本文已影响0人
坤坤GeiGei
我会在这篇文章中持续更新我做过的LeetCode题,并且分享我的解题思路。
简单题
1.删除重复的邮箱
编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个
+--------------------+----+
| email | id |
+--------------------+----+
| 1712446949@qq.com | 1 |
| 18865769216@qq.com | 2 |
| 1712446949@qq.com | 3 |
+--------------------+----+
这个答案是我在评论中学习到的(没怎么学习过删除的特殊用法)
解题思路:两个表自己比较,不需要连接,比较条件就是email字段相等,然后删除id值大的那一个
delete p1
from person p1,person p2
where p1.email=p2.email and p1.id>p2.id ;