首頁 >資料庫 >mysql教程 >如何使用TSQL刪除SQL Server中的重複記錄?

如何使用TSQL刪除SQL Server中的重複記錄?

Linda Hamilton
Linda Hamilton原創
2025-01-12 11:47:42151瀏覽

How to Delete Duplicate Records in SQL Server Using TSQL?

刪除 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn