20.4.25 查找重复的电子邮箱 简单 182

题目

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

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

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

解题思路

  1. 第一种,利用分组和聚集函数
  2. 第二种,利用DISTINCT和更名后笛卡尔乘积

代码

# Write your MySQL query statement below
//第一种
SELECT Email
FROM Person
GROUP BY Email
HAVING COUNT(Email)>1

//第二种
SELECT DISTINCT T.Email
FROM Person AS T, Person AS S
WHERE T.Id!=S.Id
AND T.Email=S.Email
posted @ 2020-04-25 10:24  肥斯大只仔  阅读(116)  评论(0编辑  收藏  举报