目标:需要对MYSQL数据表(175000条记录)按照某列(A)进行排重,但需要输出按A列排重后的全部列(A,B,C…)到另一个数据表中。
方法1:使用group by排重
insert into TableName_NoDuplicate (select * from TableName group by A)
执行:
Query OK, 52771 rows affected (1 hour 37 min 25.17 sec)
Records: 52771 Duplicates: 0 Warnings: 0
这个方法耗费较长时间
方法2:使用distinct排重
按A列排重,只能得到A列排重后的值和排重后的数量,无法获取其他列(B,C…),不用该方法;
复制表结构
CREATE TABLE 新表 LIKE 旧表