2013-01-15 38 views
3

我有一個表,像這樣MYSQL:計算特定整數在列中出現的次數,然後計算其中存在多少個?

Report used     UserID 

1        2 

1        2 

1        2 

2        2 

在這種情況下,數字我期待算1點的列中的「使用報告」,這會給我的價值。我可能會找到幾個這些列在不同的用戶列表中,所以我想要統計我找到3 1的次數。

我試過使用SELECT COUNT來計算具體的數字,但我不知道如何計算這個計數,如果你跟着我。

+0

你的問題不是很清楚。你能準確顯示預期結果應該是什麼樣子? –

+0

所以這裏的結果將是3,因爲在報告使用的列中數字'1'出現三次。 想象一下,在不同用戶的報告使用列中存在3個「1」的情況。我想對這些實例進行計數。 – blarg

+0

對我來說還是不是很清楚......對於你發佈的具體示例數據,預期的結果是1,對吧? –

回答

1

試試這個:

SELECT userid, COUNT(reportused) onescount 
FROM tablename 
WHERE reportused = 1 
GROUP BY userid 

而且檢查:

SELECT COUNT(userid) 
FROM (SELECT userid, COUNT(reportused) onescount 
     FROM tablename 
     WHERE reportused = 1 
     GROUP BY userid) a 
WHERE onescount = 3 
0

如果我猜中了:

select Report_used,RU_count,count(*) 
from 
(select Report_used, UserID, count(*) RU_Count 
    from t 
    group by Report_used, UserID) t1 
group by Report_used,RU_count;