182_Duplicate Emails
Write a SQL query to find all duplicate emails in a table namedPerson
.
+----+---------+
| 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.
Solution 1: GROUP BY + HAVING + COUNT()
Duplicated emails existed more than one time.
SELECT Email
FROM Person
GROUP BY Email
HAVING COUNT(*) > 1
Solution 2: self join
SELECT DISTINCT p1.Email
FROM Person p1
JOIN Person p2 ON p1.Email = p2.Email AND p1.id != p2.id;
Last updated
Was this helpful?