本文主要是介绍【LeetCode】182. 查找重复的电子邮箱,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
表: Person
+-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | email | varchar | +-------------+---------+ id 是该表的主键(具有唯一值的列)。 此表的每一行都包含一封电子邮件。电子邮件不包含大写字母。
编写解决方案来报告所有重复的电子邮件。 请注意,可以保证电子邮件字段不为 NULL。
以 任意顺序 返回结果表。
结果格式如下例。
示例 1:
输入: Person 表: +----+---------+ | id | email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+ 输出: +---------+ | Email | +---------+ | a@b.com | +---------+ 解释: a@b.com 出现了两次。
方法一:(使用group by计数)
select email
from Person
group by email
having count(1)>1
方法二:(使用窗口函数排序)
select distinct email
from(selectemail,row_number() over(partition by email order by id) as rnkfromPerson)tmp
where rnk>1
这篇关于【LeetCode】182. 查找重复的电子邮箱的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!