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