[LeetCode] 查找重复的电子邮箱
程序员文章站
2023-01-01 11:43:02
编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。 示例 : 根据以上输入,你的查询应返回以下结果: 说明 :所有电子邮箱都是小写字母。 题解: 方法一 :使用 和临时表 算法 重复的电子邮箱存在多次。要计算每封电子邮件的存在次数,我们可以使用以下代码。 以此作为临时表,我们可以得 ......
编写一个 sql 查询,查找 person 表中所有重复的电子邮箱。
示例:
+----+---------+ | id | email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+
根据以上输入,你的查询应返回以下结果:
+---------+ | email | +---------+ | a@b.com | +---------+
说明:所有电子邮箱都是小写字母。
题解:
方法一:使用 group by
和临时表
算法
重复的电子邮箱存在多次。要计算每封电子邮件的存在次数,我们可以使用以下代码。
select email, count(email) as num from person group by email;
| email | num | |---------|-----| | a@b.com | 2 | | c@d.com | 1 |
以此作为临时表,我们可以得到下面的解决方案。
select email from ( select email, count(email) as num from person group by email ) as statistic where num > 1;
方法二:使用 group by
和 having
条件
向 group by
添加条件的一种更常用的方法是使用 having
子句,该子句更为简单高效
。
所以我们可以将上面的解决方案重写为:
select email from person group by email having count(email) > 1;
摘自:
推荐阅读
-
用python查找excel里面的某一列的重复数据,剔除之后打印
-
Endnote怎么查找重复文献? Endnote查重的教程
-
python实现查找excel里某一列重复数据并且剔除后打印的方法
-
leetcode的Hot100系列--3. 无重复字符的最长子串--滑动窗口
-
Python查找最长不包含重复字符的子字符串算法示例
-
Oracle 查找与删除表中重复记录的步骤方法
-
#leetcode刷题之路3-无重复字符的最长子串
-
MySQL根据某一个或者多个字段查找重复数据的sql语句
-
python中查找excel某一列的重复数据 剔除之后打印
-
C++实现LeetCode(34.在有序数组中查找元素的第一个和最后一个位置)