LeetCode: 182. Duplicate Emails

Write a SQL query to find all duplicate emails in a table named Person.

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

For example, your query should return the following for the above table:

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

Note: All emails are in lowercase.

解题思路

根据 Email 进行分组, 数据条数大于 1 的组的 Email 有重复的。

  • GROUP BY: 对表进行分组
  • HAVING: 为聚合结果指定条件

AC 代码

SELECT DISTINCT Email FROM Person GROUP BY Email HAVING COUNT(*) > 1