sqlserver清除完全重复的数据只保留重复数据中的第一条

--创建测试表 
create table [dbo].[testtab]( 
[id] [nchar](10) null, 
[name] [nchar](10) null 
) ; 
--向测试表插入测试数据 
insert into testtab values('1','1'); 
insert into testtab values('1','1'); 
insert into testtab values('2','2'); 
insert into testtab values('2','2'); 
insert into testtab values('3','3'); 
insert into testtab values('3','3'); 

--创建临时表并向临时表中插入测试表testtab中数据以及添加自增id:autoid 
select identity(int,1,1) as autoid, * into #tmp from testtab 
--根据autoid删除临时表#tmp中的重复数据,只保留每组重复数据中的第一条 
delete #tmp where autoid in(select max(autoid) from #tmp group by id); 
--清除testtab表中的所有数据 
delete testtab; 
--向testtab表中插入#tmp表中被处理过的数据 
insert into testtab select id,name from #tmp; 
--删除临时表#tmp 
drop table #tmp;
(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐