小编Mar*_*sky的帖子

如何删除重复的MySQL记录(但只保留一条)

如何删除重复的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)

mysql duplicates sql-delete

3
推荐指数
1
解决办法
3540
查看次数

标签 统计

duplicates ×1

mysql ×1

sql-delete ×1