row_number() over(partition by xxx) as rowid 把rowid不是1的删除 不就好了
建个临时表,把distinct数据导进去,删掉原数据,再导回。
删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete from people where peopleName in (select peopleName from people group by peopleName having count(peopleName) > 1) and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName)>1)
http://blog.163.com/yaxctgu@126/blog/static/16267031820112723924742/
delete from people
where peopleName in (select peopleName from people group by peopleName having count(peopleName) > 1)
and peopleId not in (select min(peopleId) from people group by peopleName having count(peopleName)>1)