sql - SQL Server SELECT SUM 语句
问题描述
请帮忙!我需要帮助。
我正在尝试创建一个 SQL Server 语句;OUTPUT 是 New Items (1+2) 和 RENEW (3+4+5+6) 的总和。“NEW_SUM”的总金额将相加,直到达到“RENEW”值。
桌子:
物品 | 细节 | Detail_Type | 数量 |
---|---|---|---|
1234 | ABC01 | 新__SUM | 1美元 |
1234 | ABC02 | 继续__和 | 2美元 |
1234 | ABC03 | RENEW_SUM | 3 美元 |
1234 | ABC04 | 继续__和 | 4 美元 |
1234 | ABC05 | 继续__和 | 5 美元 |
1234 | ABC06 | 继续__和 | 6 美元 |
期望的输出:
物品 | Detail_Type | 数量 |
---|---|---|
1234 | 新__SUM | 3 美元 |
1234 | RENEW_SUM | 18 美元 |
解决方案
这回答了问题的原始版本。
您似乎想根据中的顺序对行进行分组DETAIL
。该组以非'CONT'
值开始。如果是这样,只需使用窗口函数和聚合:
select item,
max(case when detail_type <> 'CONT' then detail_type end) as detail_type,
sum(amount)
from (select t.*,
sum(case when detail_type <> 'CONT' then 1 else 0 end) over (partition by item order by detail) as grp
from t
) t
group by item, grp;
推荐阅读
- git - 更新 GitHub 上个人访问令牌 (PAT) 的命令行 Git credential.helper
- java - 创建一个接受 Runnable 但包含更好控制的类
- python - 在具有特定范围的熊猫列中按顺序替换数字
- javascript - 有没有办法添加一个切换的愿望清单,而不是数据显示在由 id 指定为愿望清单区域
- angular - 在产品中部署后,角度路由不起作用。但是使用 ng serve 在 localhost 上工作
- django - Django - 由于 on 子句的预期连接字段,自定义交叉连接失败
- python - 查看JSON数据是否在文件中,如果没有,检查下一个文件
- javascript - Chrome 中的 Window.open() 无法在新标签页中打开 PDF
- r - 如何使用 map 和 ggplot 为每个图表添加自定义标题?
- git - 如何从 git 中删除本地目录?