根据另一列id来汇总来自同一表的数据

时间:2017-06-02 03:59:05

标签: mysql sql

我的桌子看起来像这样

+-----------+----------+----------+
| ProductID |  ShopID  | Quantity |
+-----------+----------+----------+
|         1 |        1 |       10 |
|         2 |        1 |       10 |
|         3 |        1 |       15 |
|         1 |        2 |       25 |
|         4 |        1 |        5 |
|         2 |        2 |        6 |
|         4 |        3 |        7 |
+-----------+------------+--------+

我需要从多个商店获得单品的数量总和。

例如:ShopID 1和2中ProductID 1的数量总和 因此,结果将是35。

是否可以在单个查询中执行此操作?

2 个答案:

答案 0 :(得分:4)

您需要按产品ID进行分组

select sum(Quantity) as total from TableName 
where ProductID =1 and ShopID in (1,2)
group by ProductID

答案 1 :(得分:0)

在Quantity列上使用Sum aggregate函数,并在productid和shopid上使用所需条件。

select sum(Quantity) as Total_Quantity from YourTableName 
where ProductID = 1 and ShopID in (1,2)