我试图解决以下问题:
colA colDate DenseRank
-------------------------------
a 2015-06-10 1
a 2015-06-09 2
b 2015-06-10 1
b 2015-06-09 2
b 2015-06-08 3我想得到这个结果
a 2015-06-10 1
b 2015-06-09 2是否可以通过查询获得这一结果,或者我只能通过t获得它?我能得到解决方案的例子吗?谢谢你提前..。
发布于 2015-06-10 19:36:39
这个怎么样?(应该使用Server 2005+)
select colA, colDate, DenseRank
from (
select colA, colDate, DenseRank, row_number() over (partition by colA order by DenseRank desc) rn
from YourTable
) x
where x.rn = 2编辑:更改为使用row_number()而不是rank()。
另外,您没有指定,但我假设对于给定的colA值,您不能有任何重复的DenseRank值。
https://stackoverflow.com/questions/30765379
复制相似问题