程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sqlserver清除完全重復的數據只保留重復數據中的第一條

sqlserver清除完全重復的數據只保留重復數據中的第一條

編輯:關於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;
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved