SQL LeetCode: 196. Delete Duplicate Emails.

196. Delete Duplicate Emails

Easy

552805Add to ListShare

SQL Schema

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
+----+------------------+
Id is the primary key column for this table.

For example, after running your query, the above Person table should have the following rows:

+----+------------------+
| Id | Email |
+----+------------------+
| 1 | john@example.com |
| 2 | bob@example.com |
+----+------------------+

DELETE FROM PERSON
WHERE Id NOT IN (SELECT ID FROM
(SELECT ID, Email,
row_number() OVER (partition by email order by id asc) as rn_email
FROM Person) rn_table
WHERE rn_email=1)

--

--

Pallavi Mirajkar Dantkale

QA Engineer / Data Analyst — Highly committed to Quality Assurance and data analysis, advocate for quality and add the right value to the organization.