编写一个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 |
+----+------------------+
对于这个题目 由于leetcode的通过率只有39.8%
一开始打算使用distinct语句来做,但由于distinct语句筛选出的结果只有筛选列,于是显然不行
但是这道题有个很神奇的东西就是使用distinct语句 即select distinct email from person 结果并不是两个,而是三个都在
即distinct语句并没有发挥出其作用,这个一直没搞懂
虽然最后使用delect语句过了,但是对于distinct语句为什么没有实现应有的作用这里还是想要大家讨论一下的
有关知识:SQL中distinct的用法