清除冗餘記錄的SQL語句
問題:設表T中有五個欄位A,B,C,D,ID,其中ID欄位是為自動增量整型欄位(唯一值)。業務資料生成時有重複插入現象,現需對A、B、C、D四欄位完全一樣的髒資料進行清理,要求一SQL語句,對四個欄位完全一樣的記錄,僅保留ID最小的一條,其餘作刪除處理。
DELETEFROMTWHERE[ID]IN
(
select[ID]fromTwhereAin
(selectA fromTGroupByA,B,C,DHavingcount(*)>1)
and[ID]<>
(selectmin(ID)asminID fromTGroupByA,B,C,DHavingcount(*)>1)
)
更正:
deletefromT
whereT.IDnotin(selectmin(ID)fromTgroupbyT.A,T.B,T.C,T.D)
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>