题目 : 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;