oracle查询某列的最大值,获取SQL Server中某列的最大值的行

我发现了一个和这个问题非常相似的问题,但是使用的功能似乎是Oracle独有的。我希望在SQL Server中执行此操作。

我有一张这样的桌子:

MyTable

--------------------

MyTableID INT PK

UserID INT

Counter INT

每个用户可以有多行,具有不同的

Counter

在每一行。我需要找到最高的一行

计数器

每个用户的值。

如何在SQL Server 2005中执行此操作?

我能想到的最好的方法是查询返回

MAX(Counter)

对于每一个

UserID

但我需要整行,因为为了简单起见,表定义中没有显示此表中的其他数据。

编辑:

这篇文章中的一些答案引起了我的注意,我忘记了一个重要的细节。可以有2+行,其中一个用户ID可以有相同的最大计数器值。下面的例子更新了预期的数据/输出应该是什么。

有了这些数据:

MyTableID UserID Counter

--------- ------- --------

1 1 4

2 1 7

3 4 3

4 11 9

5 11 3

6 4 6

...

9 11 9

对于重复的max值,我希望得到这些结果,请按照SQL Server选择它们的顺序选择第一个结果。在这种情况下,返回哪些行并不重要,只要用户ID/计数器对是不同的:

MyTableID UserID Counter

--------- ------- --------

2 1 7

4 11 9

6 4 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值