问题描述:
编写一个 SQL 查询,查找 Person
表中所有重复的电子邮箱。
示例:
+----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+
根据以上输入,你的查询应返回以下结果:
+---------+ | Email | +---------+ | a@b.com | +---------+
说明:所有电子邮箱都是小写字母。
1、
select DISTINCT a.Email
from Person a
INNER JOIN
Person b
WHERE
a.Email=b.Email AND a.id!=b.id;
INNER JOIN :关键字在表中存在至少一个匹配时返回行。
2、
select email from person group by email having count(email)>=2
GROUP BY:语句用于结合合计函数,根据一个或多个列对结果集进行分组,select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面.