摘要:
考查自连接、GROUP BY、临时表、HAVING子句的使用。
题目
自连接
1 | # Write your MySQL query statement below |
使用自连接,因为要找到重复 Email,故可以把 Email 作为连接条件。另外要确保 Id 不同。
GROUP BY + 临时表
1 | select temp.email as Email from |
我们的目的是查找重复邮箱,很显然可以想到使用 GROUP BY 对 Email 字段进行合并分组。GROUP BY 后相同 Email 会合并为一组,每组包括所有不同 Id。我们给 Id 计数可得每组数量。
将上述操作作为一个子查询生成一张临时表,从该表中选择查询即可得到我们想要的结果。
GROUP BY + HAVING 子句
我们分组之后可以不借助临时表而是直接使用 HAVING 子句对分组后的状态进行筛选查询:
1 | select p.Email |
原题链接: LeetCode 182. 查找重复的电子邮箱