我有一个Employee_Master表,其列为
Emp_id, Emp_Name, Region_Code
由于数据加载失败,主表中存在重复条目。
我发现重复的条目适用于Region_Code=5,10 & 13
。
如何找到Duplicate Emp_id呢?
另外,如何编写查询以查找给定表中的重复项?
答案 0 :(得分:2)
以下解决方案适用于SQL Server 2005及更高版本:
-- Find Duplicate Rows
SELECT
Emp_id,
Emp_Name,
MAX(Region_Code) as Region_Code
FROM
Employee_Master
GROUP BY
Emp_id,
Emp_Name
HAVING
COUNT(*) > 1
-- Delete Duplicate Rows
DELETE FROM
Employee_Master
WHERE
Region_Code IN
(
SELECT
MAX(Region_Code)
FROM
Employee_Master
GROUP BY
Emp_id,
Emp_Name
HAVING
COUNT(*) > 1
)