2017-06-14 138 views
0

我的子報告通過ID列表。每個ID都有一個分配給它的位置。該報告按地點(組#1)分組,然後按ID(組#2)分組。計數重複記錄數

在該表中,ID的應該是這樣的:

14600 
14602 
14602 
14602 
14700 
14703 
14704 
14704 

我所需的輸出是,因爲有2個ID與多個條目。我怎樣才能輕鬆計算出來?

回答

0

聽起來就像您正在查找COUNTDISTINCT的組合,並確保有多次出現。你可以通過類似的方法來實現:

SELECT COUNT(DISTINCT id) FROM table_name HAVING COUNT(*) > 1 

這將返回表中不同ID的數量。在你的情況下,這是。

+1

並不能使其返回5? – heringer

+0

是的,我的壞 - 讓自己有點困惑!要獲得只有多行發生的**行數,還需要'HAVING count(*)> 1'。我已經更新了我的答案,包括:) –

+0

嗯,好主意,但我認爲它仍然需要調整工作。試試這個:select count(*)from(SELECT id FROM table_name group by id HAVING COUNT(*)> 1)ALIAS – heringer

0

你可以試試這個:

DECLARE @temp table(num integer); 

INSERT INTO @temp(num) VALUES (14600), (14602), (14602), (14602), (14700), (14703), (14704), (14704); 

SELECT COUNT(distinct num) repeats 
FROM 
    (SELECT 
     num, count(num) as counts 
     FROM @temp 
     GROUP BY num 
     HAVING COUNT(num) > 1) a;