我有一张下面结构的表格:
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查询中完成?
谢谢!
答案 0 :(得分:2)
可以通过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
的值数量未知,最好动态执行。