MySQL中删除重复数据的简单方法,mysql删除重复数据
2016-06-27 14:25
716 查看
MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。
第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表
第二步:创建新表RES
第三步:把TMP3表ID对应到data_content_152里需要提取的数据添加到RES表的SFZ字段
至此,就在MYSQL里实现了,给数据表data_content_152完全删除重复数据,把去重复后的数据导入到RES表。
第二种
![](https://oscdn.geek-share.com/Uploads/Images/Content/201606/83819e76fafa65354dc29a35b242face.png)
delete from a where id not in ( select id from (select id from a group by name) as b)
第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表
create table tmp3 as select min(id) as col1 from data_content_152 group by SFZHM;
第二步:创建新表RES
CREATE TABLE `res` ( `id` int(11), `sfz` char(20) ) ENGINE=MyISAM;
第三步:把TMP3表ID对应到data_content_152里需要提取的数据添加到RES表的SFZ字段
INSERT INTO res (sfz) SELECT sfzhm FROM data_content_152,tmp3 where data_content_152.id=tmp3.col1
至此,就在MYSQL里实现了,给数据表data_content_152完全删除重复数据,把去重复后的数据导入到RES表。
第二种
![](https://oscdn.geek-share.com/Uploads/Images/Content/201606/83819e76fafa65354dc29a35b242face.png)
delete from a where id not in ( select id from (select id from a group by name) as b)
相关文章推荐
- MySql字段截取
- mysql乐观锁总结和实践
- mysql外键约束总结
- MySql状态查看方法 MySql如何查看连接数和状态?
- mysql视图总结
- 帝国备份王出现链接不上MYSQL,请设置好数据库相关设置...的解决方案
- mysql主键外键
- 15个mysql使用管理命令
- prapared statement
- 使用mybatis操作mysql数据库SUM方法返回NULL解决
- MySQL分页性能优化
- MySQL 一表中字段内容是用逗号分隔的 另一表含有对应数据的两表联合查询
- mysql数据库指令导入导出
- 在EF中使用MySQL的方法及常见问题
- MySQL保存或更新 saveOrUpdate
- mysql5.7安装和配置
- InnoDB: space header page consists of zero bytes in tablespace ./mysql/iyikcr32.ibd (table mysql/iyi
- 使用Navicat for Mysql连接装在虚拟机Ubuntu16.04上的mysql服务器
- mysql多表count累计
- mysql 主从复制问题'the master returned an invalid number of fields for SHOW SLAVE HOSTS'