2009-04-08 96 views
2

無法讓我的頭回到SQL,它將返回用戶訪問特定服務的次數。認爲它可能需要一個嵌套的計數和選擇,但不能讓我的頭靠近它。SQL:計算Oracle中多個列的發生次數

的數據是這樣的:

UserID Service 
--------------- 
1  Map1 
1  Map2 
1  Map1 
2  Map1 
2  Map2 
3  Map4 
3  Map2 
3  Map2 
3  Map2 
...  ... 

和所需類型的輸出是沿此線的東西:

UserID Service TimesAccessed 
------------------------------ 
1  Map1  2 
1  Map2  1 
2  Map1  1  
2  Map2  1 
3  Map3  3 
3  Map4  1 
...  ...  ... 

任何幫助將非常感激。

回答

8

我覺得這個做的:

SELECT UserID, Service, COUNT(UserID) TimesAccessed 
FROM Table 
GROUP BY UserID, Service 
2

是這樣的嗎?

select 
    userid, service, count(userid) 
from 
    table 
group by 
    userid, service 
+0

非常感謝Bravax – 2009-04-08 11:16:02

+0

沒問題,很高興我們能有所幫助。 – Bravax 2009-04-08 11:18:57