deletfrom表名wherePRP_Numbernotint(selectPRP_Number,count(*)from表名wheregourpbyPRP_Numberhavingcount(*)>1)andPRP_Numbernotin(selectPRP_Numberfrom表名whereconvaert(int,PRP_Number)convert(int,substring((selectPRP_Numberfrom表名wherePRP_Numberlike--这里写你不要删除重复的P0002-P0003之间的最后的P0003,如下'??????????_P0003'),0,charindex('_')))--P0001-P0002我就不写了,你按照上面的思路你自己套用吧--慎用,请看清再执行