使用MYSQL,我试图在确定每个客户花费的总和后获得所有客户的平均花费。
select customernumber, round(sum(price_per_each*quantity_ordered),2) as 'ordertotal'
from orderdetails
join orders using (ordernumber)
join customers using (customernumber)
group by customernumber;
这给出了每个顾客在多个订单中花费的总和。该查询的结果大约有100条记录,范围从8k到900k。
我现在需要得到前面查询中显示的所有总和的平均值。到目前为止,每次我尝试写这个,我得到一个关于无效使用组函数的错误消息。
当我尝试通过计数(*)除法获得平均值时,我得到的数字在3k范围内,与预期相比太小了。
请帮助。我刚开始学习MySql,几个小时后似乎还是搞不懂。
我会在ordertotal列上尝试AVG函数。
SELECT AVG(`ordertotal`)
FROM (
select customernumber, round(sum(price_per_each*quantity_ordered),2) as 'ordertotal'
from orderdetails
join orders using (ordernumber)
join customers using (customernumber)
group by customernumber
) nested;