测试数据如下所示,有的记录只有一条,有的数据重复两遍,有的数据重复了3遍,现在需要只把重复两遍的数据去重:
--删除出现两边的数据中rowid小的那条数据
delete from TEST a where a.rowid in ( select min(rowid) rid from TEST a
group by ID
having count(id)=2
)
执行SQL后的结果如下:
当然,实际中会有where的筛选条件,以及去重的不是id单字段,那么可以在上面的SQL中完善,group by 字段a,字段b
having count(*)=2