首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用postgres秩函数限制n个顶级结果

用postgres秩函数限制n个顶级结果
EN

Stack Overflow用户
提问于 2013-08-06 20:53:37
回答 1查看 9K关注 0票数 7

我正在查询一个帐户应付款表,该表有ap文档列表,其中每个文档都有(除其他字段外)我感兴趣的用于运行聚合查询的文件:

vendor_id,金额和日期。

我想在这个表上构造一个查询,到按年份分组,按总数(金额之和)排列的前10位供应商的位置。

有人能告诉我如何使用秩函数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 22:43:54

代码语言:javascript
复制
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
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18090285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档