sql - 查询 SQL Server 的求和结果
问题描述
我需要添加另一个查询的结果,但我不能
图中是第一个查询的结果。现在我需要添加这个结果并按日期分组
示例:200 + 200 + 199 + 199 + 199 + 200 .... = 结果
我的代码:
SELECT SUM (
(SELECT
[DATA],
IIF((
Icas.CONTADOR_ICAS_1 - COALESCE(LAG(Icas.CONTADOR_ICAS_1) OVER (ORDER BY Icas.COD_ICAS), 0)) > 0
AND (Icas.CONTADOR_ICAS_1 - COALESCE(LAG(Icas.CONTADOR_ICAS_1) OVER ( ORDER BY Icas.COD_ICAS),0)) < 500,
(Icas.CONTADOR_ICAS_1 - COALESCE(LAG(Icas.CONTADOR_ICAS_1) OVER (ORDER BY Icas.COD_ICAS), 0)), 0) AS DifL1
FROM VW_ICAS Icas )) AS Res
FROM
VW_ICAS
GROUP BY
[DATA]
解决方案
我想这个查询提供了您在图像中提供的数据:
SELECT [DATA], IIF(...) AS DifL1
FROM VW_ICAS Icas
(DifL1
为了清楚起见,我截断了表达式。)
你想用这些数据做到这一点:
SELECT [DATA], SUM(DifL1)
FROM [the result above]
GROUP BY [DATA]
您可以将第一个查询作为表表达式放入第二个查询:
SELECT [DATA], SUM(DifL1)
FROM (SELECT [DATA], IIF(...) AS DifL1
FROM VW_ICAS Icas) AS X
GROUP BY [DATA]
我猜这应该可行。
这是@LuisCazares 答案的第二个查询的变体,但在字段 [DATA] 上进行了分组。
推荐阅读
- asp.net - 精巧的问题。从返回的对象中获取值
- java - PBKDF2WithHmacSHA256 密钥长度对输出长度的影响
- excel - 使用 VBA 冻结窗格
- java - 如何以编程方式按高度自动调整文本大小?
- unity3d - 在一次碰撞中找到最近的对撞机
- azure - Azure aks 集群 - 每个代理的额外磁盘存储
- reactjs - SVG 作为 ReactComponent- 是否可以在渲染中获取宽度
- windows - 当我使用 java11 时如何在 STS 中设置 JRE 主目录
- laravel - STI ::find() 在控制器中失败,但在修补程序中成功
- outlook - Outlook - 将组日历事件复制到用户 Outlook 日历