Q
刪除重複的行
3
A
回答
4
如果您使用的是SQL Server 2005或更高版本:
With Dups As
(
Select Id, Name
, Row_Number() Over (Partition By Name Order By Id) As Num
From Table1
)
Delete Table1
Where Id In (
Select Id
From Dups
Where Num > 1
)
如果使用SQL Server 2000和之前
Delete Table1
Where Exists (
Select 1
From Table1 As T1
Where T1.Name = Table1.Name
Having Min(T1.Id) <> Table1.Id
)
0
只要您可以使用光標 查詢可能是這樣做(3030)
申報CR光標選擇ID,名稱來自idnametbl爲了通過ID
用於更新
開放CR未來從CR
提取到@ ID,@名
而@@ FETCH_STATUS = 0
開始
從idnametbl刪除其中id> @id和名稱= @名稱
下一個從CR讀取到ID @,@名
末
接近CR
DEALLOCATE CR
2
的副本可以用一個簡單的自我聯接查詢被刪除。下面的腳本會爲你解決問題。
delete t2
from Table1 t1
join Table1 t2
on t1.Name = t2.Name
where t1.Id < t2.Id
此邏輯可用於需要刪除重複項的情況。我們應儘可能避免使用「光標」,因爲它會阻止表格。
相關問題
- 1. 刪除重複行
- 2. 刪除重複行
- 3. 刪除重複行
- 4. Datagridview刪除重複的行
- 5. 刪除重複的行?
- 6. 刪除重複的行MySQL
- 7. 刪除重複的行?
- 8. 刪除重複的行
- 9. 刪除重複的行mysql
- 10. 刪除重複的行
- 11. SQL刪除重複的行
- 12. 刪除重複的行
- 13. 刪除重複的行?
- 14. MYSQL重複刪除重複行並刪除重複行數據最少
- 15. 刪除重複行(不要刪除所有重複)
- 16. VBA Excel刪除重複行
- 17. JackRabbit - 刪除重複行
- 18. Linux:刪除重複行
- 19. 如何刪除重複行
- 20. MySQL/ASP - 刪除重複行
- 21. matlab:重複行刪除
- 22. SQL刪除重複行
- 23. Shell |刪除重複行
- 24. R刪除重複行
- 25. 刪除重複
- 26. 刪除重複
- 27. 刪除「重複」
- 28. 刪除重複
- 29. 重複刪除
- 30. 刪除重複
創建一個具有唯一行的新表刪除舊的名稱,然後用舊名稱重命名新的名稱,也許你應該儘量避免添加重複的條目 – Ibu 2011-05-29 04:14:24
在完成清理之後,*添加一個UNIQUE約束*名字,所以你不必再做這個工作。 – 2011-05-29 04:21:19
[刪除重複行(不要刪除所有重複項)](http://stackoverflow.com/questions/3777633/delete-duplicate-rows-dont-delete-all-duplicate) – jmort253 2013-11-07 02:16:16