摘要:
考查自连接、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. 查找重复的电子邮箱