2016-05-14 28 views
1

我有一個82,535行的表,其中65,087行是唯一的ID。當我將整個82,535結果集合並複製到Excel並刪除重複項時,它顯示有17,448個重複項。但是,當我使用下面的查詢我得到不同的結果:選擇重複行數返回錯誤結果

SELECT 
    BLD_ID, COUNT(BLD_ID) AS [BLD_ID COUNT] 
FROM 
    Project.BreakageAnalysisOutcome_SentToAIM 
GROUP BY 
    BLD_ID 
HAVING 
    COUNT(BLD_ID) > = 2 

該查詢返回的17364

enter image description here

值我確實知道的唯一BLD_ID數爲65,087

+1

你可以有一些三重或更多。這會改變計數。使用「有數(BLD_ID)> = 3」再次運行查詢 – 2016-05-14 02:47:24

+0

您是如何計算17,364從您的查詢?在你的查詢中,重複次數應該是sum([BLD_ID COUNT]) - (行取數),所以你應該重寫它以得到正確的數字。 –

回答

2

最有可能是重複記錄的原因可能有2次以上。

找到重複計數

Select COUNT(BLD_ID)- COUNT(DISTINCT BLD_ID) 
From Project.BreakageAnalysisOutcome_SentToAIM 
0

使用CTE與ROW_NUMBER函數,而不是計數與組由子句和過濾器通過ROW_NUMBER> 1.

; WITH CTE AS ( SELECT ID, ROW_NUMBER()超過(通過ID按ID分隔)作爲Rn 從[表1] ) 刪除cte其中Rn> 1

+0

DELETE語句如何回答被問到的問題?這個問題沒有提到刪除重複值的行。它詢問「選擇重複計數」。 – spencer7593