主页 > 知识库 > SQL实现LeetCode(182.重复的邮箱)

SQL实现LeetCode(182.重复的邮箱)

热门标签:高清地图标注道路 云南电商智能外呼系统价格 话务外呼系统怎么样 智能外呼系统复位 外东北地图标注 临清电话机器人 大众点评星级酒店地图标注 拉卡拉外呼系统 400电话可以办理吗

[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.

这道题让我们求重复的邮箱,那么最直接的方法就是用Group by...Having Count(*)...的固定搭配来做,代码如下:

解法一:

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

我们还可以用内交来做,用Email来内交两个表,然后返回Id不同的行,则说明两个不同的人使用了相同的邮箱:

解法二:

SELECT DISTINCT p1.Email FROM Person p1
JOIN Person p2 ON p1.Email = p2.Email
WHERE p1.Id > p2.Id;

参考资料:

https://leetcode.com/discuss/53206/a-solution-using-a-group-by-and-another-one-using-a-self-join

到此这篇关于SQL实现LeetCode(182.重复的邮箱)的文章就介绍到这了,更多相关SQL实现重复的邮箱内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • SQL实现LeetCode(196.删除重复邮箱)
  • SQL实现LeetCode(185.系里前三高薪水)
  • SQL实现LeetCode(184.系里最高薪水)
  • SQL实现LeetCode(183.从未下单订购的顾客)
  • SQL实现LeetCode(181.员工挣得比经理多)
  • SQL实现LeetCode(180.连续的数字)
  • C++实现LeetCode(179.最大组合数)
  • SQL实现LeetCode(197.上升温度)

标签:无锡 定西 温州 阿里 三明 扬州 山西 福州

巨人网络通讯声明:本文标题《SQL实现LeetCode(182.重复的邮箱)》,本文关键词  SQL,实现,LeetCode,182.,重复,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《SQL实现LeetCode(182.重复的邮箱)》相关的同类信息!
  • 本页收集关于SQL实现LeetCode(182.重复的邮箱)的相关信息资讯供网民参考!
  • 推荐文章