【发布时间】:2020-01-26 04:13:01
【问题描述】:
我有以下 SQL 来删除表中的重复值,
DELETE p1
FROM `ProgramsList` p1, `ProgramsList` p2
WHERE p1.CustId = p2.CustId
AND p1.CustId = 1
AND p1.`Id`>p2.`Id`
AND p1.`ProgramName` = p2.`ProgramName`;
Id 是自动递增的
对于给定的CustId ProgramName 必须是唯一的(目前不是)
上面的 SQL 大约需要 4 到 5 个小时才能完成,大约有 1,000,000 条记录
谁能建议一种从表中删除重复项的更快方法?
【问题讨论】:
-
也许像这样在临时数组中插入唯一值? stackoverflow.com/a/1652413/217180
标签: mysql sql duplicates