如果它们的id匹配,则MySQL SUM值来自同一列

时间:2017-07-22 23:11:38

标签: mysql

我想查询一个表格,如果它们的ID匹配,我想在同一列/列中对值进行求和。

表格如下:

id | product_id | attribute_id | production_price | warehouse_id | qty | sell_qty
----------------------------------------------------------------
1  | 1          | 111          | 100.0000         | 1            | 50  | 45
2  | 1          | 111          | 100.0000         | 2            | 40  | 40
3  | 2          | 222          | 100.0000         | 1            | 30  | 20
4  | 2          | 222          | 100.0000         | 2            | 20  | 20

我想要做的是将qtysell_qty的值相加,如果相同的产品同时包含warehuse(warehouse_id 1/2)且product_id和attribute_id匹配。 结果是这样的:

product_id | attribute_id | production_price | qty | sell_qty
----------------------------------------------------------------
1          | 111          | 100.0000         | 90  | 85
2          | 222          | 100.0000         | 50  | 40

如果有可能,我该如何进行这样的查询呢?

2 个答案:

答案 0 :(得分:0)

看起来你想要一个简单的group by

select product_id, attribute_id, production_price, sum(qty) qty, sum(sell_qty) sell_qty
from mytable
group by 1,2,3

答案 1 :(得分:0)

试试这个:

SELECT sum(qty),sum(sell_qty) from table where warehouse_id = 1 group by product_id;

如果在同一仓库内销售同一产品,它会将数量和销售数量相加

如果你想在select中添加更多字段,也可以在组中添加相同的