【发布时间】:2010-11-11 12:02:55
【问题描述】:
我有一个包含一些列的表:用户、类别、值
我想进行一个查询,该查询将按值对所有用户进行排名,但会针对类别进行重置。
例子:
user1 CategoryA 10
user2 CategoryA 11
user3 CategoryA 9
user4 CategoryB 3
user1 CategoryB 11
查询将返回:
Rank User Category
1 user2 CategoryA
2 user1 CategoryA
3 user3 CategoryA
1 user1 CategoryB
2 user4 CategoryB
有什么想法吗?
我编写查询并指定类别,它可以工作,但是我必须编写循环并且它非常慢。
【问题讨论】:
-
我当前的查询:SELECT Rank() over (Order by Value, User, Category) as rank, Category, User FROM Table1 Group By User, Category, Value Order by rank asc
标签: sql sql-server tsql group-by rank