微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQL Server查询等级行号和分组

如何解决SQL Server查询等级行号和分组

在排名函数OVER子句中使用“分区依据”

SELECT
    Rank() over (Partition by Category Order by Value, User, Category) as ranks,
    Category, User
FROM 
    Table1
Group By
    User, Category, Value 
Order by
    ranks asc

解决方法

我有一个包含一些列的表:用户,类别,值

我想进行查询,以按值对所有用户进行排名,但将类别重置。

例子:

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

有任何想法吗?

我编写查询并指定类别,它可以工作,但随后我必须编写循环,而且循环非常慢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。