删除 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中文网其他相关文章!