MySQL删除重复

时间:2016-09-05 08:40:37

标签: mysql

我想通过'电话'对我的数据库进行重复排序我只能将它们全部删除而不是保留其中一个数字

目前我的代码:

delete from costar  where (SELECT pnum FROM costar group by pnum having count(*) >= 2)

任何帮助将不胜感激

谢谢

2 个答案:

答案 0 :(得分:1)

即使按id和pnum分组,WHERE子句中的条件也始终为true,这是可视化重复项的正确方法。试试这个:

DELETE FROM costar WHERE id IN
(
SELECT c2.id 
FROM costar_tmp c1, costar_tmp c2
WHERE c1.id <> c2.id
AND c1.pnum = c2.pnum
)

编辑:

使用可以使用以下内容创建的临时表更新解决方案:

CREATE TABLE costar_tmp AS SELECT id, pnum FROM costar;

答案 1 :(得分:1)

如果您有Id,则可以执行以下操作。

ContextBuilder