刪除重複的數據(徹底一致的重複)

MSsqlsql

遺留的數據表中存在大量重複的記錄,這些重複的數據的特色是:包括標識ID在內,全部數據列都同樣,即徹底一致的重複。如何去掉重複的記錄,例如2條相同的數據 ,ID,各個字段都徹底相同,沒法在現有數據 上把這兩條數據 區分開,須要能夠分別開來的字段,spa

具體步驟以下:code

--1 添加臨時標識字段 blog

1 alter table [表名] 
2 add idd varchar(50)

 

 

--2 更新此字段,這樣就能區分數據table

1 update [表名] set idd=NEWID()

 

--3刪除重複的,經過原標識 id分組,數據大於1的,取最小的一條刪除class

1 delete from [表名] where idd  in(select min(idd) from [表名] group by id having(COUNT(*)>1) )

 

--4 刪除增長的臨時列date

1 alter table [表名]
2 drop column idd

 

以上爲刪除的方法。select

此方法只刪除了重複數爲2的記錄,若是有更多重複的記錄,能夠把3多運行幾回。方法

刪除以前注意備份數據。數據

相關文章
相關標籤/搜索