mysql删除重复记录

看了这位大哥的博客,解决了问题的需要:http://blog.csdn.net/chentao5211314/article/details/5955751

特此标记一下。

1步:先把重复的记录过滤掉,保存在一张表(record表)里。

create table record as(
    select cid,`from`,`to`, begintime,callstate,linetype,rid,call_minute from call_record where left(begintime,10)="2013-07-20" group by conv(`from`,10,10),conv(`to`,10,10),cid,left(begintime,18)
)

另一种方法:

     select disctinct cid,`from`,`to`, begintime,callstate,linetype,rid,call_minute from call_record where left(begintime,10)="2013-07-20"

2步:删除原来表里所有重复的记录

delete from call_record where left(begintime,10)="2013-07-20" 

3步:导出record表的数据,导入到call_record表。

备注:mysql把字符串类型的数字转化为int类型的数字的方法是:conv(`from`,10,10)

你可能感兴趣的:(mysql删除重复记录)