0
我有列的Employee_Master表作为消除重复条目
Emp_id, Emp_Name, Region_Code
由于数据加载失败有在主表中重复的条目。
我发现重复的条目是Region_Code=5,10 & 13
。
我该如何找出重复的Emp_id?
另外我怎么写一个查询来查找给定表中的重复项?
我有列的Employee_Master表作为消除重复条目
Emp_id, Emp_Name, Region_Code
由于数据加载失败有在主表中重复的条目。
我发现重复的条目是Region_Code=5,10 & 13
。
我该如何找出重复的Emp_id?
另外我怎么写一个查询来查找给定表中的重复项?
以下解决方案适用的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
)
这只会工作,如果没有超过2个重复的行。 – Dmitry 2011-05-11 09:22:33
@DIMITRY:那么如果我有两个以上的重复行呢?因为我在这里有超过7个重复的行。 – sobsinha 2011-05-11 09:30:24
@sobsinha,@Dmitry:我相信它会起作用。尝试一下,然后通知我,如果没有。 – 2011-05-11 09:33:17