SQL Redshift 如何查询每个月每天增加的销售额?

How to query increased sales every day a month in SQL Redshift?

谁能帮我 SQL redshift 查询以按照下面提到的方式获得结果

我的table:

SalesDate  | Amount($)

2022-03-01 | 4     
2022-03-01 | 5     
2022-03-02 | 3     
2022-03-02 | 10     
2022-03-02 | 12      
2022-03-03 | 1    
 etc..

我想增加销售额 table 分组 SalesDate :

SalesDate  | Amount($)

2022-03-01 | 9    
2022-03-02 | 34   
 etc...

目前,我尝试使用此查询但不起作用:

select distinct salesdate::date as date_number
, sum(*) over (order by salesdate::date) asc ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as amount
from mytable
where salesdate >= '2022-03-01'

所以我收到的结果不是我想要的。它增加但不是我想要的:

SalesDate  | Amount($)

2022-03-01 | 4

2022-03-01 | 9  

2022-03-02 | 12

2022-03-02 | 22

2022-03-02 | 34

您可以尝试在子查询中使用 group by 和聚合函数,然后再使用 window 函数。

SELECT date_number,
       sum(amount) over (order by date_number) totalAmount
FROM (
    select salesdate::date as date_number, 
           sum(Amount) as amount
    from mytable
    where salesdate >= '2022-03-01'
    GROUP BY salesdate::date
) t1