确定任期最长的总统的姓名、党派和任职年限 派对。我不能使用 join 关键字。
table 长:
Name | Party | years_served|
-------------+-------------+-------------+
Roosevelt | Democratic | 12
Madison | Demo-rep | 8
Monroe | Demo-rep | 8
Adams | Demo-rep | 4
所以结果将是 Roosevelt、madison 和 monroe 出现,而 adams 没有出现,因为他没有服役 8 年,这是演示代表的最长服役时间。
最佳答案
您可以使用 dense_rank()
窗口函数:
with cte as (
select
*, dense_rank() over(partition by Party order by years_served desc) as rnk
from Table1
)
select
Name, Party, years_served
from cte
where rnk = 1
关于sql - 查找行组的最大值 POSTGRESQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27061447/