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 |
+----+------------------+翻译
从Person表中删除所有重复的邮箱,仅保留 id 最小的邮箱。
DELETE
FROM
Person
WHERE
id NOT IN (
SELECT
t.id
FROM
(
SELECT
`Email`,
min(id) AS id
FROM
Person
GROUP BY
`Email`
) t
)
暂时没有留言