当订单项匹配时(MySql),我想从下表中总结价格。
表格1-
Customers. OrderItem. Price
Customer A. Pizza. 300
Customer B. Pizza. 500
Customer A. Pizza. 200
Customer B. Pizza. 300
Customer A. Softdrink. 50
Customer A. Softdrink. 20
Customer B. Softdrink. 30
Customer B. Softdrink. 60
要获得一个像这样的新表:
Customer. Pizza. Softdrink
Customer A. 500. 70
Customer B. 800. 90
在MySql中。
最佳答案
您可以使用条件聚合:
SELECT
Customer,
SUM(CASE WHEN OrderItem = 'Pizza' THEN Price ELSE 0 END) AS Pizza,
SUM(CASE WHEN OrderItem = 'Softdrink' THEN Price ELSE 0 END) AS Softdrink
FROM yourTable
GROUP BY
Customer;
Demo