一、根据查询语句建立表sql
CREATE table <表名称> as <select * from <查询表> > it
二、根据字段名查询重复行table
SELECT * FROM <表名称> GROUP BY 字段1, 字段2, ... , 字段n HAVING count(1) > 1;select
三、去除重复行而且只保存一条数据
select * from <表名> where <目标字段> exits (SELECT <目标字段> FROM <表名称> GROUP BY 字段1, 字段2, ... , 字段n HAVING count(1) > 1) and <表名>.id not in (SELECT min(<表名>.id) FROM <表名称> GROUP BY 字段1, 字段2, ... , 字段n HAVING count(1) > 1);查询
这个sql查询出来的是全部要删除的重复列,能够用查询出来的重复列作一个临时表,去删除目标表的重复数据tab