每天计算销售额,比较之前的销售额

时间:2021-02-10 06:53:26

标签: sql postgresql oracle join

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

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

1 个答案:

答案 0 :(得分:1)

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

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

您的累积总金额:

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

如果一个和有一个顺序,那么它就有一个隐含的“行无界”

我想您是从某个地方开始报告的(例如,您的前端执行 where orderdate > x,因此它也可以为函数提供最小日期。如果不是,那么您可能会从调用最小订购日期