繁体   English   中英

SQL 服务器 SELECT SUM 语句

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM