如何在SQL中使用group by运行sum?
现在我有一张如下的桌子如何在SQL中使用group by运行sum?,sql,group-by,amazon-redshift,Sql,Group By,Amazon Redshift,现在我有一张如下的桌子 Date Promotion campaign Visit Orders Revenue 2018-06-01 Promotion01 200 5 1000 2018-06-01 Promotion02 250 10 1100 2018-06-02 Promotion01 220
Date Promotion campaign Visit Orders Revenue
2018-06-01 Promotion01 200 5 1000
2018-06-01 Promotion02 250 10 1100
2018-06-02 Promotion01 220 8 1350
2018-06-03 Promotion03 300 15 2000
...
我想生成一个表格,显示累积数据,如
Date Visit Orders Revenue
2018-06-01 450 15 2100
2018-06-02 670 23 3450
2018-06-03 970 38 5450
我知道首先我可能必须使用group by函数并按日期对数据进行分组,然后如何计算3列的运行总和
dw是亚马逊红移。非常感谢您的帮助 您可以使用聚合和窗口功能:
select date, sum(visit) as visit, sum(orders) as orders,
sum(revenue) as revenue,
sum(sum(revenue)) over (order by date) as running_revenue
from t
group by date
order by date;
您可以使用聚合和窗口函数:
select date, sum(visit) as visit, sum(orders) as orders,
sum(revenue) as revenue,
sum(sum(revenue)) over (order by date) as running_revenue
from t
group by date
order by date;
这里有2109篇文章使用搜索短语
[sql]运行total
,1212篇文章使用搜索短语[sql]运行sum
。这些都没有给你足够的信息,至少让你自己尝试解决这个问题?是的,我尝试了group by和lag函数,但是这个数字不正确,任务有点仓促,这就是为什么我没有提到我自己做的试验,而是在发现潜在错误之前尽快解决它。但我明白你的意思,这里有2109篇文章使用搜索短语[sql]运行total
,1212篇文章使用搜索短语[sql]运行sum
。这些都没有给你足够的信息,至少让你自己尝试解决这个问题?是的,我尝试了group by和lag函数,但是这个数字不正确,任务有点仓促,这就是为什么我没有提到我自己做的试验,而是在发现潜在错误之前尽快解决它。但我明白你的意思