mysql中删除表中重复记录的方法

mysql中删除表中重复记录的方法

mysql中删除表中重复记录的方法:

mysql查询表中重复记录:select*from table GROUP BY username

只显示表中重复记录:select*,count(*)as nums from tab_a group by username having nums>1

下面方法可删除表中的重复记录:

方法一:

CREATE TEMPORARY TABLE

bad_temp2(id VARCHAR(10),username VARCHAR(20))

TYPE=HEAP;

INSERT INTO bad_temp2(username)SELECT DISTINCT username FROM bad_table2;

DELETE FROM bad_table2;

INSERT INTO bad_table2(id,username)SELECT id,username FROM bad_temp2;

以上方法采用建立临时表的办法删除了bad_table2中username字段有重复的记录

方法二:

新建一个临时表

create table tmp as select*from youtable group by username

删除原来的表

drop table yourtable

重命名表

alter table tmp rename yourtable