sql - 如何在 SQL 中使用 group by 运行 sum?
问题描述
现在我有一个如下表
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
我知道首先我可能必须使用按函数分组并按日期对数据进行分组,然后如何计算 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;
推荐阅读
- python - 如何使用请求模块 python3 推送键(值)?
- javascript - 如何在 Angular 7 中扩展服务
- c# - 允许 IgnoreQueryFilters 后跟选择查询
- go - 应该返回 Handler 的函数如何返回 HandlerFunc?
- python - Qt - 改变 QSvgWidget 的颜色
- java - 从 gitlab-ci.yml 在远程服务器上启动/停止 tomcat
- php - 在注册 Zizaco/entrust 时添加默认角色
- reactjs - 如何更改 Material-UI 的 Textfield 焦点的值?
- javascript - 如何在更改选择选项时添加/更新 url 参数?
- pyspark - 使用 pip install pyspark 安装时是否有 spark-defaults.conf