如何按月份和年份在PostgreSQL中分组查询结果?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (132)

Postgres服务器上有以下数据库表:

id      date          Product Sales
1245    01/04/2013    Toys    1000     
1245    01/04/2013    Toys    2000
1231    01/02/2013    Bicycle 50000
456461  01/01/2014    Bananas 4546

我希望创建一个查询,该查询提供SUM在...Sales按月份和年份分列结果如下:

Apr    2013    3000     Toys
Feb    2013    50000    Bicycle
Jan    2014    4546     Bananas

有什么简单的方法吗?

提问于
用户回答回答于
select to_char(date,'Mon') as mon,
       extract(year from date) as yyyy,
       sum("Sales") as "Sales"
from yourtable
group by 1,2
用户回答回答于

函数date_trunc:

   SELECT date_trunc('month', txn_date) AS txn_month, sum(amount) as monthly_sum
     FROM yourtable
 GROUP BY txn_month

这是不好的做法,但如果你使用

 GROUP BY 1

您也可以使用

 GROUP BY date_trunc('month', txn_date)

如果您不想选择日期。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励