ex:person(id,fname,lname). name(fname+lname)一样算重复。
1. 过滤重复数据
select distinct fname,lname from person;
select id,fname,lname from person group by fname,lname ;
都需要using temporary; Using filesort。 但distinct 方式取不到id值
2. 统计重复数据
select id,fname,lname from person group by fname,lname having count(id)>1 ;
3.统计无重复数据
select id,fname,lname from person group by fname,lname having count(id)=1 ;
4.去重
delete from person where id not in ( select id form ( select id,fname,lname from person group by fname,lname ) as tab1 );
或者
create table tmp select * from person group by fname,lname;
drop table person;
alter table tmp rename to person;
一系列添加索引,约束操作,自增操作
阅读(791) | 评论(0) | 转发(0) |