SQL删除指定条件的重复数据,只保留一条,只需要将下列中文替换成你的业务逻辑即可。
DELETE FROM 表名
WHERE id NOT IN
(SELECT nd.i FROM
(SELECT MAX(id) i FROM 表名 GROUP BY 判断重复的字段名 HAVING COUNT(*) > 1
UNION
SELECT MAX(id) i FROM 表名 GROUP BY 判断重复的字段名 HAVING COUNT(*) = 1) nd
)
效果如下图: