2016-05-14 12 views
1

私は65,587行がIDによって一意である82,535行のテーブルを持っています。 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 

このクエリは、私はユニークBLD_IDの数であることを確実に知る17364

enter image description here

の値を返します65,087

+1

あなたは3倍以上のものを持っている可能性があります。これにより、カウントが変更されます。 「カウント(BLD_ID)> = 3」のクエリを再度実行してください –

+0

クエリから17,364をどのように計算しましたか?あなたのクエリから、重複の数は合計([BLD_ID COUNT]) - (行のフェッチの数)でなければならないので、正しい番号を得るために書き直す必要があります。 –

答えて

2

重複したレコードの可能性が高い理由は、2回以上発生する可能性があります。

ROW_NUMBERによって句とファイラによって代わりにグループでのカウントのROW_NUMBER関数で重複カウント

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

利用CTEを検索する> 1.

; SELECT ID、 ( AS CTE WITH (表1) から) から を削除すると、ROW_NUMBER()がオーバーライドされます。

+0

DELETEステートメントは、質問された質問にどのように答えますか?問題は重複した値を持つ行を削除することには言及していません。「重複の数を選択」について質問します。 – spencer7593

関連する問題