sql语句如何按某几列删除表中重复数据



sql语句如何按某几列删除表中重复数据?开始获取了重复列的数据,但不知道怎么在那基础上删除,最后通过下面那个sql多执行几次知道执行结果为0就表示重复数据已经删除了。

delete from warehouse_summary t where t.summary_id in (
select min(t.summary_id)
from warehouse_summary t
left join warehouse_Info wi
on t.warehouse_id = wi.warehouseid
where
t.status = 1 group by wi.warehouseid,t.product_id having count(*)>1
)
delete from people
where peopleId in (select peopleId from people group by peopleId
having count(peopleId) > 1)
and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)