mysql从表中删除重复行
我有下表。我需要删除基于zip列的重复行mysql从表中删除重复行,mysql,duplicates,Mysql,Duplicates,我有下表。我需要删除基于zip列的重复行 id state zip 1 CA 112233 2 CA 112233 3 CA 112233 4 CA 113300 . . . . . . 999 FL 345678 1000 FL 234
id state zip
1 CA 112233
2 CA 112233
3 CA 112233
4 CA 113300
. . .
. . .
999 FL 345678
1000 FL 234579
谢谢 如果重复次数少,您可以在需要的时候重复此命令,否则将使用迭代
delete from yourTable AS a where a.id in (select max(b.id) from yourTable AS b
group by b.zip having count(b.id) >1 );
注意在尝试之前复制一份 更简单的方法是确定你需要保留的。。。。试试这个
DELETE FROM `you-table`
WHERE
id not in (
select *
from(
SELECT
min(t.id) as keepID
from
`you-table` as t
group by concat(t.state,t.zip)
) as keepTable
)
1093-您无法指定从第条更新的目标表“yourTable”,请更新应答1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行的select maxb.id from MyTable AS b group by b.zip ha中使用near'AS a where a a.id'