select min(primaryid)primaryid,RecordID, HighestID, Fname , D_Val , I_Val , V_Val , X_Val
from 表
group by RecordID, HighestID, Fname , D_Val , I_Val , V_Val , X_Val
from 表
group by RecordID, HighestID, Fname , D_Val , I_Val , V_Val , X_Val
from 表
group by RecordID, HighestID, Fname , D_Val , I_Val , V_Val , X_Valdelete 表 from 表 inner join #t b on 表.primaryid<>b.primaryid
WHERE primaryid NOT IN (select min(primaryid)primaryid
from [huang]
group by RecordID, HighestID, Fname , D_Val , I_Val , V_Val , X_Val )
--语句一
delete Tb_dis
from Tb_dis t
where exists(select 1 from Tb_dis where C1=t.C1 and C3=t.C3 and id<t.id)--语句二
delete Tb_dis from Tb_dis t2 where id not in (
select max(t1.id) from Tb_dis t1 where
t1.c1=t2.c1 and t1.C3=t2.C3)--语句三
delete a from Tb_dis a join Tb_dis b on a.C1 = b.C1 and a.C3 = b.C3 where a.id>b.id
表名、去重的条件字段改改就可以了!
as
(
select *,
ROW_NUMBER() over(PARTITION by primaryid , RecordID , HighestID ,Fname,D_Val,I_Val,V_Val,X_Val
order by @@servername) as rownum
from 表
)delete from t
where rownum > 1