[SQL 题库] 查找重复的电子邮箱

上一篇 / 下一篇  2019-05-31 15:33:33 / 天气: 舒适 / 心情: 平静 / 个人分类:数据库

编写一个 SQL 查询,查找 Person表中所有重复的电子邮箱。

示例:

+----+---------+
| Id | Email   |
+----+---------+
| 1  | a@b.com |
| 2  | c@d.com |
| 3  | a@b.com |
+----+---------+
根据以上输入,你的查询应返回以下结果:
+---------+ | Email | +---------+ | a@b.com | +---------+
说明:所有电子邮箱都是小写字母。

思路一:
先按照“Email"分组排序,然后统计每组记录的个数,计算每封电子邮件的存在次数作为临时表,然后从临时表中选出记录数大于1的记录。
SELECT Email
FROM
(SELECT Email, COUNT(Email) AS Num
FROM Person
GROUP BY Email
) AS Statictis/*Note: 此处的alias一定要加上,否则运行时会报错,如E1所示*/
WHERE Num > 1;
E1:
Every derived table must have its own alias

思路二:
可以直接使用GROUP BY 和HAVING 条件
SELECT Email
FROM Person
GROUP BY Email
HAVING COUNT(Email) > 1;




TAG:

 

评分:0

我来说两句

日历

« 2024-04-19  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 13042
  • 日志数: 32
  • 图片数: 1
  • 建立时间: 2019-01-22
  • 更新时间: 2019-08-08

RSS订阅

Open Toolbar