2014-09-18 80 views
0

我使用SELECT count(ID) FROM table1 GROUP BY ID HAVING count(ID) > 1爲了根據我的ID字段(不是唯一值)獲取多少重複行,其中每個值是每個重複項的重複次數,我怎麼能改變以前的查詢,以獲得這些值的總和? 我已經嘗試過像SELECT count(SELECT count(ID) FROM table1 GROUP BY ID HAVING count(ID) > 1)這樣的事情,但沒有任何運氣。SUM重複行的數量

輸入:我查詢

ID|char 
    01|f 
    01|q 
    01|r 
    02|q 
    03|c 
    03|a 
    03|s 
    03|s 
    04|r 
    05|q 
    06|f 
    06|q 

結果:

count(ID) 
3 
4 
2 

(3因爲我們有3行與ID = = 03,4 - > 4 * ID = = 03等)

所需輸出:

X 
9 

(9從3 + 4 + 2推出)

預先感謝您的時間。

+0

請編輯您的問題,包括一些樣品的輸入和輸出。這將幫助我們回答你的問題。 – dg99 2014-09-18 18:39:21

+0

完成,Barmar的答案在下面做了我想達到的感謝。 – Stavros 2014-09-18 21:46:44

回答

2

使用子查詢:

SELECT SUM(dupCount) 
FROM (SELECT COUNT(*) AS dupCount 
     FROM table1 
     GROUP BY ID 
     HAVING dupCount > 1) AS x