原始資料:
Table1
ID Name
-----------------------
1 a
2 b
3 a
4 c
5 b
需要資料:
開始:
DELETE FROM TABLE1 WHERE ID IN (
SELECT ID FROM (
SELECT ID, RANK OVER(PARTRITION BY NAME ORDER BY ID) AS RankNumber FROM TABLE1
WHERE RankNumber<>1) -- 根據name分組,在組内設定等級編号,保留第一條,其他删掉
)
該SQL語句未經實際運作.但是原理為使用RANK OVER和PARTRITION關鍵字是不會錯的,如果運作有問題請去msdn查閱相關資料