月初至今聚合KPI查询postgresql

时间:2016-06-18 14:15:49

标签: postgresql date

我正试图找到一种方法来获得每月的销售额,但只是将总数与当月的日期进行比较。 换句话说,我想将本月的销售额与现在的销售额进行比较,直到当月的销售额为止。

使用今天的日期作为参考的示例(2016-06-18):

Total sales on January 2016 (*From 2016-01-01 to 2016-01-31*): 1000

Total sales on January 2016 (*From 2016-01-01 to 2016-01-17*): 650

Total sales on February 2016 (*From 2016-02-01 to 2016-01-17*): 670

Total sales on July 2016 (*From 2016-06-01 to current_date - 1*): 680

我的数据结构如下:

   date      sales
2016-01-01     5
2016-01-02     4
2016-01-03     5
2016-01-04     7
.
.
.

当我运行查询时,我希望每月对上面提到的总数进行比较,结果看起来像这样:

 month     sales
2016-01     650
2016-02     670
.
.
2016-06     680

因此,比较每个月的月末总数。

这是我到目前为止所尝试过的,似乎很好,但不管怎样,每当我为每个月的第一天或最后一天进行极限测试时,我总会得到一点点差异。

select
order_month,
sum(sales) as sales
from table
where extract (day from order_date::date)
<=
extract (day from current_date::date) 
- case when extract (day from current_date::date)=1 then 0 else 1 end
    group by 1;

0 个答案:

没有答案