De Requête de SQL Server pour le Rang (RowNumber) et les groupes

J'ai une table qui a des colonnes: l'Utilisateur, la Catégorie, la Valeur

Et je veux faire une requête qui va me donner un classement de tous les utilisateurs en fonction de la valeur, mais de réinitialisation pour la catégorie.

Exemple:

user1   CategoryA 10
user2   CategoryA 11
user3   CategoryA 9
user4   CategoryB 3
user1   CategoryB 11

la requête serait de retour:

Rank  User   Category  
1     user2   CategoryA
2     user1   CategoryA
3     user3   CategoryA
1     user1   CategoryB
2     user4   CategoryB

Des idées?

Je écrire la requête et à préciser la Catégorie, Cela fonctionne mais je dois écrire des boucles et très lent.

  • Ma Requête: SELECT Rank() over (Order by de la Valeur, de l'Utilisateur, Catégorie) les grades, Catégorie, l'Utilisateur DE la table Table1 Groupe Par l'Utilisateur, la Catégorie, la Valeur de la Commande par rangs de l'asc
InformationsquelleAutor bladefist | 2009-07-16