当前位置: 移动技术网 > IT编程>数据库>MSSQL > sqlserver清除完全重复的数据只保留重复数据中的第一条

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

单竞缇个人资料,爱丽图库,徐周文

--创建测试表 
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;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网