T-SQL排序并仅取最高值

时间:2019-03-26 07:17:53

标签: tsql

我有一张桌子,我想在其中检索类别的最高值 ea:

UserA catA   4
userA catA 200
userA catB 100
UserA catA  50
userB catA 150
userB catC  10
userB catC 300

它应该返回

userA catA 200
userA catB 100
userB catA 150
userB catC 300

排序,然后仅取最大值。 而且我想知道什么是最好的方法。

3 个答案:

答案 0 :(得分:1)

Select column1, column2, max(column3) as MaxColumn3 from TableName group by column1, column2

就这么简单。

答案 1 :(得分:0)

另一个选项可以将MAX()函数与Partition By子句一起使用,如下所示

Select 
    distinct [user], category, max([value]) over (partition by [user], [category]) as MaxValue 
from UserCategoryValues 

Partition By clause in SQL可以使用许多聚合功能

答案 2 :(得分:0)

Select   [User], Category,max(Value) from UserCategory group by [User], Category order by [User]