如何删除重复的MySQL记录(但只保留一条)
大家好,我有一个问题,我有几条具有相同ID的记录,我想消除重复的记录,但只留下一条。对 mysql 语句有什么想法吗?
我有这个语句来查看记录和重复项的数量,但当我使用删除时它对我不起作用:
SELECT
email,
COUNT(email)
FROM
contacts
GROUP BY email
HAVING COUNT(email) > 1;
Run Code Online (Sandbox Code Playgroud)
我使用这个语句,但它只删除一个重复记录:
DELETE FROM wp_options WHERE option_id=5 limit 1;
Run Code Online (Sandbox Code Playgroud)
有什么办法可以大规模做吗?
更新:我正在使用此语句,但它消除了所有重复记录而不留下任何记录:
DELETE FROM xhi_options
WHERE option_id IN (SELECT option_id
FROM (SELECT option_id
FROM xhi_options
GROUP BY option_id
HAVING COUNT(option_id) > 1) AS T)
Run Code Online (Sandbox Code Playgroud)