Postgres:如何将当前年份与过去的日期进行比较



我有下表"销售"

date        revenue
2018-06-01  300
2018-06-02  400
2019-06-01  500
2019-06-02  700

我想将当前年份与过去一年的销售年与当前日期进行比较,并获得以下结果:

date        revenue 2019    revenue 2018
2019-06-01  500             300
2019-06-02  700             400

我应该使用什么查询?

问题是我应该以某种方式将2018年收入分组为2019年收入。

您可以使用自我加入:

select 
  s1.date,
  s1.revenue revenue2019,
  s2.revenue revenue2018
from sales s1 inner join sales s2
on s1.date = s2.date + interval '1' year
where date_part('year', s1.date) = 2019

请参阅演示。
结果:

> date       | revenue2019 | revenue2018
> :--------- | ----------: | ----------:
> 2019-06-01 |         500 |         300
> 2019-06-02 |         700 |         400

相关内容

最新更新