MYSQL:取两列之和的平均值



使用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;

最新更新