摘自:
http://ourmysql.com/archives/1265
引用
MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。
第一步:从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表。
分享到:
相关推荐
删除表中重复数据sql语句 绝对经典和详细 太好了
SQL Server删除重复数据的几个方法SQL Server删除重复数据的几个方法
SQL,删除重复记录的方法,详细介绍了4种常用方法,将重复记录删除 只保留1条记录
本文介绍了用四种方法教你如何用SQL语句删除重复记录。
是一个简单的sql语句,你可以仿照这个语句查出表里的重复数据。
OracleSQL实例-删除重复数据行留最新日期实例.pdf 学习资料 复习资料 教学资源
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
SQL删除表里的重复数据的两种方法! 值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/
查询和删除表中重复的数据的sql语句大全
删除重复记录 删除数据表中的重复记录,包括MySQL、SQL Server、Oracle等
Oracle查询重复数据与删除重复记录方法,Oracle查询重复数据与删除重复记录方法
支持sql2000及以上删除表中多列同时重复的行 ,
sql查询表中某字段下所有重复的记录,删除某字段下重复记录最小的那笔记录
SQL Server数据库操作中,有时对于表中的结果集,满足一定规则我们则认为是重复数据,而这些重复数据需要删除。如何删除呢?本文我们通过一个例子来加以说明。 例子如下: 如下只要companyName,invoiceNumber,...
该文档是本人在实验过程中遇到的一个需求,之后解决了,特此写一个文档,实现一条SQL语句删除数据库某一个表中重复的记录。(重复的记录只保留一条,其他的被删除)
SQL根据多字段删除重复项,其结果只以ID最新(大)保留一个条记录。超级简单的代码,保证人人都能看懂。删除多条重复的名称,并且保留ID最小的那个。删除重复数据,并且保留最大的ID。
使用Oracle查询并删除重复记录的SQL语句
各种删除语句,例如保留重复数据第一条 包含中文注释
介绍了SQL 查询和删除重复字段数据的方法,有需要的朋友可以参考一下
重复数据,通常有两种:一是完全重复的记录,也就是所有字段的值都一样;二是部分字段值重复的记录