首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sum with conditional if

sum with conditional if
EN

Stack Overflow用户
提问于 2018-02-26 12:07:00
回答 4查看 88关注 0票数 0

我有如下数据:

下面是查询:

代码语言:javascript
运行
复制
SELECT   a.product_id,coa_id, product_group_id, amount
FROM t_monthly_data a, p_product b, p_report_set c
WHERE a.product_id = b.product_id
      AND a.coa_id in (51110001,51110005,51110007,51110011) 
      AND CATEGORY = 'DIRECT COST'
      AND period = 201701
GROUP BY a.product_id,coa_id, product_group_id,amount

我如何对具有相同产品id但不同coa id的数量进行求和?

我的期望是:

代码语言:javascript
运行
复制
| PRODUCT_ID |           COA_ID            | PRODUCT_GROUP_ID | AMOUNT

|     AV     |  51110001,51110005,51110007 |        SIO       | 550400555
|     DA     |           511100011         |        PSC       | 327500  

我能得到像上面这样的值吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-02-26 12:36:23

如果想要按产品id求和,则需要按产品id分组。这将为每个产品id提供一行,其中包含金额的总和。(我还在其中为您添加了count。)

代码语言:javascript
运行
复制
SELECT   a.product_id, sum(amount) as sum_amount, count(*) as count_items
FROM t_monthly_data a
JOIN p_product b ON a.product_id = b.product_id
WHERE a.coa_id in (51110001,51110005,51110007,51110011) 
     AND CATEGORY = 'DIRECT COST'
     and period = 201701
GROUP BY a.product_id
票数 0
EN

Stack Overflow用户

发布于 2018-02-26 12:11:08

使用GROUP BY

代码语言:javascript
运行
复制
SELECT COA_ID, SUM(AMOUNT) FROM table GROUP BY COA_ID
票数 0
EN

Stack Overflow用户

发布于 2018-02-26 12:14:28

如果您正在谈论SQL语句。尝试

代码语言:javascript
运行
复制
SELECT SUM(AMOUNT), COA_ID  FROM tablename GROUP BY COA_ID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48981303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档