我想刪除重複例如我想刪除此行「Test2,321,0」,因爲有重複,但在行1和2我只想刪除行兩個,因爲類型id高於第一行中的當前副本。刪除重複的記錄只在條件在sql服務器
這是我的表
ID, Name, RecordNum, Type -------------------------- 1, Test, 123, 0 2, Test, 123, 1 3, Test2, 321, 0 4, Test2, 321, 0
我可以用這個查詢第4行中刪除重複。但我似乎無法弄清楚如何刪除第2行,因爲第1行是相同的,但類型號碼較低。如果類型編號爲2,則勝出,並且必須刪除具有相同名稱和記錄編號的0和1類型編號的重複項。
WITH dup2 as (
SELECT Name
, RecordNum
, Type ROW_NUMBER() OVER(PARTITION BY Name, RecordNum, Type ORDER BY ID ASC) AS NumOfDups
FROM MyTbale)
delete FROM dup2 WHERE NumOfDups > 1
我假設您的查詢,如上所述,已被複制不正確? – Ben 2014-10-20 20:27:19
是否要刪除第2行和第4行? – acfrancis 2014-10-20 20:28:14