首页 > 解决方案 > 与以前的销售额相比,每天计算销售额

问题描述

如何根据比较以前、当前和即将到来的日期的日期来计算销售额?

order date  |   total qty
------------------------------
    02/01/2021  |   5   
    02/04/2021  |   10  
    02/06/2021  |   7
    02/08/2021  |   10
    02/10/2021  |   2

标签: sqlpostgresqloraclejoin

解决方案


您的存储桶列可以通过以下方式给出:

CONCAT(
  DATE_PART('day', AGE('2021-02-01', orderdate))*7+1,
  '-',
  (DATE_PART('day', AGE('2021-02-01', orderdate))+1)*7,
  ' days'
)

您的 cumu 总计:

SUM(total) OVER(PARTITION BY DATE_PART('day', AGE('2021-02-01', orderdate)) ORDER BY orderdate)

如果总和的顺序为

我想你是在某个地方开始你的报告(例如你的前端这样做where orderdate > x,所以它也可以为函数提供最小日期。如果没有,那么你可能会从调用 min orderdate 的 cte 中受益


推荐阅读