只保留某个字段内容一样的行的其中一行。比如表如下f1 f2 f3 【列名】
v1 v2 v3
v1 v9 v10
v2 v1 v3
结果
f1 f2 f3 【列名】
v1 v2 v3
v2 v1 v3f1字段内容如果相同只保留一条,删除其他的。
上例中,v1相同所以只保留任意一条记录,另外一条删除
由于db有1千万数据所以希望有一个高效的语句,希望大家帮忙啊。
v1 v2 v3
v1 v9 v10
v2 v1 v3
结果
f1 f2 f3 【列名】
v1 v2 v3
v2 v1 v3f1字段内容如果相同只保留一条,删除其他的。
上例中,v1相同所以只保留任意一条记录,另外一条删除
由于db有1千万数据所以希望有一个高效的语句,希望大家帮忙啊。
select * from 表如下 group by f1新建一个表,然后删除旧表,再把XXX改为原表名。
delete from TT A where NOT EXISTS(SELECT 1 FROM TT WHERE F1=A.F1 AND A.ID>ID)
(SELECT F1,MIN(ID) AS MI FROM TT GROUP BY F1) B ON A.F1=F1 AND A.ID=B.MI
OR
DELETE A FROM AAB A INNER JOIN AAB B ON A.F1=B.F1 AND A.ID>B.ID;
select distinct *from client group by mac3、drop table client 4、rename table client_old to client
alter ignore table t add unique index f_1(f1);
alter table t drop index f_1;