对于每个客户-产品对,我需要计算该产品在每个州的平均销售额。
实际表("sales“表):
cust | prod | state | quant
Bloom | Bread | NY | 1
Bloom | Butter| NJ | 2
.
.
.我的问题是:
SELECT cust, prod, state, AVG(quant)
from sales
group by cust, prod, state;结果:
cust | prod | state | avg(quant)
Bloom | Bread | NY | 1
Bloom | Butter| NJ | 2我想要的结果是:
cust | prod | NY | NJ
Bloom | Bread | 1 | 2发布于 2020-11-13 09:21:39
这是一个支点。
SELECT
cust,
prod,
AVG(CASE WHEN state = 'NY' THEN quant END) AS 'NY',
AVG(CASE WHEN state = 'NJ' THEN quant END) AS 'NJ'
FROM sales
GROUP BY cust, prod如果您不能像那样对状态进行硬编码,请参阅MySQL pivot row into dynamic number of columns了解如何在存储过程中实现动态透视。
https://stackoverflow.com/questions/64814052
复制相似问题