sql - SQL Sum 和自连接?
问题描述
我在表 T_FORECAST 中有如下组织的数据
Location Sublocation Delivery_forecast Delivery_Date Forecast_date
----------------------------------------------------------------------------------
1 1 100 2020-01-01 2019-01-01
1 2 50 2020-01-01 2019-05-01
1 1 90 2020-01-01 2019-06-01
1 2 70 2020-01-01 2019-10-01
. . .
我正在尝试编写一个查询,该查询将输出每个位置的 Delivery_forecast、Delivery_date 和 Forecast_date 的总和。在下面的示例中,我希望:
Location Delivery_forecast Delivery_Date Forecast_date
----------------------------------------------------------------------------------
1 100 2020-01-01 2019-01-01
1 150 2020-01-01 2019-05-01
1 140 2020-01-01 2019-06-01
1 160 2020-01-01 2019-10-01
我可以使用下面的请求找到我需要的行列表,但我找不到获得正确总和的方法。我相信我必须做一个自我加入
SELECT DISTINCT f.Location, f.Delivery_Date, f.Forecast_date
FROM T_FORECAST f
解决方案
使用累积和:
select f.*,
sum(delivery_forecast) over (partition by location, delivery_date order by forecast_date) as running_delivery_forecast
from T_FORECAST f;
推荐阅读
- jspdf - jsPdf .html() 方法中的自动分页
- java - 如何在我的 GET 方法中刷新 onResponce?改造 2
- cocoapods - Linphone - 获取 SDK
- azure - 如何使用 Powershell -Multiple BackendPool 创建 Azure 应用程序网关
- css - 单击按钮并将光标移开后如何保持悬停效果
- scheduled-tasks - 用于 exe 的 Windows Server 2016 任务计划程序无法正常工作
- javascript - 如何在后端注册中查看电子邮件
- linux - 使用 curl linux 在 easyupload.io 上上传文件
- xampp - 本地主机 -xampp
- reactjs - 通过 useState 更改内容