【LeetCode】数据库 – 查找重复的电子邮箱

  • Post author:
  • Post category:其他


【题目描述】

编写一个 SQL 查询,查找

Person

表中所有重复的电子邮箱。


示例:

+----+---------+
| Id | Email   |
+----+---------+
| 1  | a@b.com |
| 2  | c@d.com |
| 3  | a@b.com |
+----+---------+

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

+---------+
| Email   |
+---------+
| a@b.com |
+---------+


说明:

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

【题目解答】

首先建表、生成数据

drop table if exists person;
create table `person` (
	`id` int(11) not null auto_increment,
	`email` char(20) not null,
	primary key(`id`)
)engine=innodb charset=utf8;

insert into person(email) value("a@b.com"),("c@d.com"),("a@b.com");

解答如下:

mysql> select email from (select email, count(email ) as email_num from person g
roup by email) as p where p.email_num > 1;
+---------+
| email   |
+---------+
| a@b.com |
+---------+
1 row in set (0.00 sec)



版权声明:本文为fIuent原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。