文章目录
- 1. 182.查找重复的电子邮箱
- 1.1 题干
- 1.2 准备数据
- 1.3 解法
- 1.4 结果截图
1. 182.查找重复的电子邮箱
1.1 题干
表: Person
±------------±--------+
| Column Name | Type |
±------------±--------+
| id | int |
| email | varchar |
±------------±--------+
id 是该表的主键(具有唯一值的列)。
此表的每一行都包含一封电子邮件。电子邮件不包含大写字母。
编写解决方案来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。
以 任意顺序 返回结果表。
结果格式如下例。
示例 1:
输入:
Person 表:
±—±--------+
| id | email |
±—±--------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
±—±--------+
输出:
±--------+
| Email |
±--------+
| a@b.com |
±--------+
解释: a@b.com 出现了两次。
1.2 准备数据
Create table If Not Exists Person (id int, email varchar(255))
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')
1.3 解法
with t1 as(
select email,count(*) cnt from Person group by email having cnt >1
)
select email from t1;