我有一个名为Filter的表,其中包含以下列:
FilterID ViewID Rank1
3 3 1
220 94 1
221 94 2
我需要为每个FilterID
获得ViewID
最大排名。
结果应为:
FilterID
3
221
对于ViewID 94 Rank1为2,因此值为221。
谢谢
答案 0 :(得分:3)
您没有说明您的DBMS,因此这是ANSI SQL(几乎适用于所有现代DBMS)
select FilterID
from (
select FilterID,
ViewID,
Rank1,
max(Rank1) over (partition by ViewID) as max_rank
from Filter
) t
where Rank1 = max_rank;
答案 1 :(得分:1)
在快捷方式中,
select max(FilterID)
from Filter
group by ViewID