我有如下数据:

下面是查询:
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的数量进行求和?
我的期望是:
| PRODUCT_ID | COA_ID | PRODUCT_GROUP_ID | AMOUNT
| AV | 51110001,51110005,51110007 | SIO | 550400555
| DA | 511100011 | PSC | 327500 我能得到像上面这样的值吗?
发布于 2018-02-26 12:36:23
如果想要按产品id求和,则需要按产品id分组。这将为每个产品id提供一行,其中包含金额的总和。(我还在其中为您添加了count。)
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发布于 2018-02-26 12:11:08
使用GROUP BY
SELECT COA_ID, SUM(AMOUNT) FROM table GROUP BY COA_ID发布于 2018-02-26 12:14:28
如果您正在谈论SQL语句。尝试
SELECT SUM(AMOUNT), COA_ID FROM tablename GROUP BY COA_IDhttps://stackoverflow.com/questions/48981303
复制相似问题