SQL刪除冗余數(shù)據(jù)的問題
在使用SQL Server過程中,難免會(huì)碰到了刪除冗余數(shù)據(jù)的問題。本文將為您介紹SQL刪除冗余數(shù)據(jù)的方法,供您參考,希望對(duì)您有所幫助。
第一種,數(shù)據(jù)全部重復(fù),如下圖:
需要得到以下的結(jié)果:
刪除重復(fù)的記錄(重復(fù)記錄保留1條),可以按以下方法刪除
seleet distinct * into #Tmp from TableName
drop table TableName
select * into TableName from #Tmp
drop table #Tmp
第二種,數(shù)據(jù)部分字段重復(fù),ID不重復(fù) ,如下圖:
需要得到以下結(jié)果:
下面的語句可以達(dá)到要求:
delete 表 where id not in(
SELECT MAX(id) AS id FROM 表 GROUP BY rows) --- 刪除重復(fù)行
select * from 表 where id in(
SELECT MAX(id) AS id FROM 表 GROUP BY rows) --重復(fù)行只查詢一條