![](/img/trans.png)
[英]SQL Server - SELECT statement with Variable and SUM() method
[英]SQL Server SELECT SUM Statement
请帮忙。 我需要帮助。
我正在尝试创建 SQL 服务器语句; 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 美元 |
所需的 output:
物品 | Detail_Type | 数量 |
---|---|---|
1234 | 新__SUM | 3 美元 |
1234 | RENEW_SUM | 18 美元 |
这回答了问题的原始版本。
您似乎想根据DETAIL
中的顺序对行进行分组。 该组以非'CONT'
值开头。 如果是这样,只需使用 window 函数和聚合:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.