> 文章列表 > SQL 182. 查找重复的电子邮箱

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

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

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

  • 数据
  • 需求
  • 解决

题目 : https://leetcode.cn/problems/duplicate-emails/

数据

Create table If Not Exists Person (id int, email varchar(255) comment '电子邮件'
);Truncate table Person;insert into Person (id, email) values ('1', 'a@b.com');
insert into Person (id, email) values ('2', 'c@d.com');
insert into Person (id, email) values ('3', 'a@b.com');

需求

查询来报告所有重复的电子邮件

  • 电子邮件不包含大写字母
  • 要保证电子邮件字段不为 NULL

查询结果 :

| Email   |
| a@b.com |

解决

思路:

  • 先筛选不为 null 的邮件
  • 对邮件进行分组
  • 当邮件重复时,会在一个分组中
  • 统计条数并过滤就可
select email as Email
from Person
where email is not null
group by email
having count(*) > 1;