刪除 SQL Server 表中的重複項目
問題:
假設您有一個 Employee
表,其中一個名為 EmployeeName
的欄位包含重複條目。 如何使用 T-SQL 根據 SQL Server 中的 EmployeeName
欄位刪除這些重複行?
解:
使用 T-SQL 和視窗函數有效刪除 SQL Server 中的重複行。 透過使用員工 ID 對重複項進行排序,我們可以僅保留每個姓名的第一次出現。
<code class="language-sql">DELETE x FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
要在執行 DELETE
語句之前查看計劃刪除的行,請執行以下查詢:
<code class="language-sql">SELECT * FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
以上是如何使用TSQL刪除SQL Server中的重複記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!