sql - 与以前的销售额相比,每天计算销售额
问题描述
如何根据比较以前、当前和即将到来的日期的日期来计算销售额?
order date | total qty
------------------------------
02/01/2021 | 5
02/04/2021 | 10
02/06/2021 | 7
02/08/2021 | 10
02/10/2021 | 2
解决方案
您的存储桶列可以通过以下方式给出:
CONCAT(
DATE_PART('day', AGE('2021-02-01', orderdate))*7+1,
'-',
(DATE_PART('day', AGE('2021-02-01', orderdate))+1)*7,
' days'
)
您的 cumu 总计:
SUM(total) OVER(PARTITION BY DATE_PART('day', AGE('2021-02-01', orderdate)) ORDER BY orderdate)
如果总和的顺序为
我想你是在某个地方开始你的报告(例如你的前端这样做where orderdate > x
,所以它也可以为函数提供最小日期。如果没有,那么你可能会从调用 min orderdate 的 cte 中受益
推荐阅读
- android - 哪个是检查用户位置(android 应用程序)是否在多边形内的更好方法
- python - 在 Python 中减去返回 NaN 的数据帧
- python - 字典的条件循环
- ios - 以编程方式编辑 UIStackView
- klipfolio - 根据日期范围和项目编号选择数据
- java - 在 Visual Studio 中创建 Java 项目后缺少类路径文件
- amazon-web-services - 使用 Cloudfront 作为跨多个 VPC 的反向代理
- php - 如何使用 php + my sql 将数据从表复制到另一个表
- windows-installer - 为什么安装 update.exe 需要原始 .msi 文件?
- react-native - 在 XMLHttpRequest 中添加/注入客户端证书