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
谁能帮我 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