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