写在前面
-
难度:简单
题目
编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。 示例:


思路1
方法很简单,我们要对email分组,然后汇总计数,计数大于等于2的就是我们要找的数据
select email
from person
group by email
having count(*)>=2
那么有无其他的思路呢?这反而有点不好想了。但一定是有点,就像写程序语言一样,同样的目的地总是有不同的实现方法。
思路2
分表的一个思路,如果是2个表,那么重复的email特征是id不等(主键),email相等 那么可以这么做。
select distinct a.email
from person a,person b
where a.id!=b.id
and a.email=b.email