196. Delete Duplicate EmailsQuestion Editorial Solution submissions total accepted:15426 total submissions:81201 difficulty:easy
Write a SQL query to delete all duplicate emails entries in a table named who, keeping only unique emails based on its s Mallest 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
| +----+------------------+
Subscribe to the which companies asked this question simple solution:
# Write your MySQL query statement below
delete P1
from person P1, and person P2
where P1. Email=p2. Email and P1. Id>p2. Id
Another faster solution:
Delete from
person
where
Id not in (SELECT ID
from
(select min (ID) as ID
GROUP by Email
) P
);