消除重复的条目

时间:2011-05-11 09:10:12

标签: sql-server

我有一个Employee_Master表,其列为

Emp_id, Emp_Name, Region_Code

由于数据加载失败,主表中存在重复条目。

我发现重复的条目适用于Region_Code=5,10 & 13

如何找到Duplicate Emp_id呢?

另外,如何编写查询以查找给定表中的重复项?

1 个答案:

答案 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
  )