我正在查询具有ap文档列表的应付帐款表 其中每个(我和其他领域)我感兴趣的是在以下方面运行聚合查询:
vendor_id,金额和日期。
我想在这个表上构建查询到我将获得的位置,按年份排序,前10名供应商按总数(金额总和)排序。
请有人告诉我如何使用等级功能。
答案 0 :(得分:7)
select *
from (
select the_year, vendor_id, amount,
row_number() over(
partition by the_year
order by amount desc
) as rn
from (
select
date_trunc('year', the_date) as the_year,
vendor_id,
sum(amount) as amount
from ap
group by 1, 2
) s
) s
where rn <= 10
order by the_year, amount desc