2009-04-08 9 views
2

Impossible de comprendre le code SQL qui renvoie le nombre de fois qu'un utilisateur a accédé à un service particulier. Pensez que cela peut nécessiter un nombre imbriqué et sélectionner, mais je ne peux pas comprendre.SQL: Comptage du nombre d'occurrences sur plusieurs colonnes dans Oracle

Les données ressemble à ceci:

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

Et est quelque chose le long du type de sortie souhaité les lignes de celle-ci:

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

Toute aide serait grandement appréciée.

Répondre

8

Je pense que cela le fait:

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

Brillant - les deux réponses fonctionnent. Un de ces matins ....! –

2

Quelque chose comme ça?

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

Un grand merci Bravax –

+0

Pas de problème, heureux nous pourrions aider. – Bravax

+0

Pardon, je crois que vous m'avez aussi piqué une fraction de seconde! –

Questions connexes