Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql从表中删除重复行_Mysql_Duplicates - Fatal编程技术网

mysql从表中删除重复行

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

我有下表。我需要删除基于zip列的重复行

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'