【LeetCode】寻找重复的电子邮箱

原创 2018年04月16日 15:01:49

编写一个 SQL查询,来查找名为 Person 的表中的所有重复电子邮件。

示例:

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

根据以上输入,您的查询应返回以下结果:

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

注意: 所有电子邮件都是小写字母。


Person 表的录入

Create table If Not Exists Person (Id int, Email varchar(255))
Truncate table Person
insert into Person (Id, Email) values ('1', 'a@b.com')
insert into Person (Id, Email) values ('2', 'c@d.com')
insert into Person (Id, Email) values ('3', 'a@b.com')

MySQL解答

select Email from Person
group by Email having(count(*))>1

耗时:458ms


心得

发现耗时排名竟然还比较靠前。解释一下查重的语句:

select Email from Person

是因为我们的目的是要挑选出Email的变量,并且是从Person的表格中挑选出来。后面一句是本题的精髓。

group by Email having(count(*))>1

这里需要用到分组group by,我们需要按照Email进行分组,相同的就会排在一起,并进行计数(R语言中的table)。我们再挑选出计数个数大于1的邮箱,这样就完成了查重操作。


题目网址https://leetcode-cn.com/problems/duplicate-emails/description/

leetcode182-Duplicate Emails(找出出现重复的数据)

问题描述:Write a SQL query to find all duplicate emails in a table named Person.+----+---------+ | Id | ...
  • will130
  • will130
  • 2016-04-08 11:31:29
  • 504

寻找重复的电子邮箱

编写一个 SQL查询,来查找名为 Person 的表中的所有重复电子邮件。 示例: +----+---------+ | Id | Email | +----+---------+ | 1 ...
  • u010550534
  • u010550534
  • 2018-03-30 23:10:54
  • 227

leetcode 182. Duplicate Emails

题意:查找出现一次以上的邮箱 题目链接:https://leetcode.com/problems/duplicate-emails/ select distinct x.Emai...
  • wyt734933289
  • wyt734933289
  • 2016-05-10 21:38:15
  • 411

LeetCode 287. Find the Duplicate Number(找重复数字)

原题网址:https://leetcode.com/problems/find-the-duplicate-number/ Given an array nums containing n + 1...
  • jmspan
  • jmspan
  • 2016-04-15 07:02:18
  • 988

leetcode 287. Find the Duplicate Number,数组中找重复的数

287. Find the Duplicate Number Given an array nums containing n + 1 integers where each integer is...
  • chenchaofuck1
  • chenchaofuck1
  • 2016-03-27 21:09:43
  • 1178

Leetcode.寻找不重复的最长子字符串

题号:3 原题:Longest Substring Without Repeating CharactersGiven a string, find the length of the longes...
  • Yiigel
  • Yiigel
  • 2017-01-18 21:17:37
  • 528

删除重复的邮件

编写一个SQL查询来删除Person表中所有重复的电子邮件,在重复的邮件中只保留Id最小的邮件。 +----+------------------+ | Id | Email ...
  • u010550534
  • u010550534
  • 2018-03-31 11:52:43
  • 107

每天一道LeetCode-----寻找给定字符串中重复出现的子串

Repeated DNA Sequences 原题链接Repeated DNA Sequences 在给定字符串中寻找重复出现的序列,每个序列长度为10 可以采用unordered_map记...
  • sinat_35261315
  • sinat_35261315
  • 2018-02-26 20:54:08
  • 92

【LeetCode】寻找最大长度不重复子串

3. Longest Substring Without Repeating Characters 题目:在字符串中找到最大长度不重复的子串 思路:HashMap+Two Pointer——用Ha...
  • liyinan11
  • liyinan11
  • 2017-03-27 09:47:36
  • 397

leetcode题3 寻找字符串不包含重复字符的最长子字符串

决定每天刷一道leetcode题来维持编程和学习的状态问题表述Given a string, find the length of the longest substring without repe...
  • seektruthalone
  • seektruthalone
  • 2016-07-10 19:52:33
  • 599
收藏助手
不良信息举报
您举报文章:【LeetCode】寻找重复的电子邮箱
举报原因:
原因补充:

(最多只允许输入30个字)