繁体   English   中英

MySQL汇总一列并按两列分组

[英]MySQL sum up a column and group by two columns

我有一个具有以下结构的表:

Product       | Status        | Quantity
____________________________________________

P001          | 1             | 50
P001          | 1             | 30
P001          | 2             | 40
P001          | 2             | 60 

我想总结按产品和状态分组的数量。 结果将是:

Product       | Status 1 QTY   | Status 2 QTY
____________________________________________

P001          | 80             | 100

可以在一个sql查询中完成上述操作吗?

谢谢!

可以通过CASE语句完成。

SELECT Product,
       SUM(CASE WHEN Status = 1 THEN Quantity ELSE 0 END) `Status 1 QTY`,
       SUM(CASE WHEN Status = 2 THEN Quantity ELSE 0 END) `Status 2 QTY`
FROM   TableName
GROUP  BY Product

如果您不知道Status的值数量,最好动态地进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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