2
如何删除重复记录?Firebird SQL删除重复记录
我使用此查询,但它删除太多。
delete from adaparselkomsulari
where sn not in (select min(sn)
from adaparselkomsulari
group by sinirtipi, komsuadi);
我想删除两列公用的记录。
如何删除重复记录?Firebird SQL删除重复记录
我使用此查询,但它删除太多。
delete from adaparselkomsulari
where sn not in (select min(sn)
from adaparselkomsulari
group by sinirtipi, komsuadi);
我想删除两列公用的记录。
这个怎么样
delete from adaparselkomsulari a1
where exists(select first 1 1 from adaparselkomsulari a2
where a2.sinirtipi = a1.sinirtipi and a2.komsuadi=a1.komsuadi
and a1.sn<>a2.sn)
或
delete from adaparselkomsulari a1
where (select count(*) from adaparselkomsulari a2
where a2.sinirtipi = a1.sinirtipi and a2.komsuadi=a1.komsuadi)>1
你需要检查组计数在这里,不是会太宽泛。 –
你能举个例子吗? –
也许只有'HAVING COUNT(sn)> 1'丢失,或者多于一次存在。 – Myonara