182. Duplicate Emails
题目描述和难度
- 题目描述:
编写一个 SQL 查询,查找 Person
表中所有重复的电子邮箱。
示例:
+----+---------+ | Id | Email | +----+---------+ | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | +----+---------+
根据以上输入,你的查询应返回以下结果:
+---------+ | Email | +---------+ | a@b.com | +---------+
说明:所有电子邮箱都是小写字母。
- 题目难度:简单。
- 英文网址:182. Duplicate Emails 。
- 中文网址:182. 查找重复的电子邮箱 。
思路分析
求解关键:
用于测试的 SQL 语句:
参考解答
参考解答1
DROP TABLE IF EXISTS Person ;
CREATE TABLE Person(
Id INT PRIMARY KEY AUTO_INCREMENT,
Email VARCHAR(200)
);
INSERT INTO Person(Email) VALUES ('a@b.com');
INSERT INTO Person(Email) VALUES ('c@d.com');
INSERT INTO Person(Email) VALUES ('a@b.com');
SELECT Email FROM Person GROUP BY Email HAVING count(*) > 1;
SELECT DISTINCT p1.Email FROM Person p1,Person p2
WHERE p1.email = p2.email AND p1.`Id`!=p2.`Id`;
本篇文章的地址为 https://liweiwei1419.github.io/leetcode-solution/leetcode-0182-duplicate-emails ,如果我的题解有错误,或者您有更好的解法,欢迎您告诉我 liweiwei1419@gmail.com 。