LeetCode 182. 查找重复的电子邮箱

  • 题目:
    编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。

示例:

±—±--------+
| Id | Email |
±—±--------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
±—±--------+

根据以上输入,你的查询应返回以下结果:

±--------+
| Email |
±--------+
| [email protected] |
±--------+

说明:所有电子邮箱都是小写字母。

  • 解题思路
    方法一:
    使用group by语句来进行分组,再用count 聚集函数来统计组的个数
    代码实现:
select Email 
from Person
group by Email having count(Email) > 2;
  • 方法二:
    查找同一个表中邮箱相等但是ID不同元组
select distinct a.Email             /*distinct 使相同值只用出现一次*/
from Person a, Person b
where a.Email = b.Email and a.Id != b.Id;

猜你喜欢

转载自blog.csdn.net/xiao1guaishou/article/details/88256086