我有下表
Order_lines(`Order line`,`order number`,`price`,`sale`,`profit`,`order item`)
某些订单号有多个商品。
我需要计算超过5个订单项的订单的平均利润。
我把我的问题写成:
select ROUND(profit/count(item),0) Average Profit
from order_lines;
having count(item)>5;
但它不起作用。有人可以帮我这个吗?非常感谢你!!
答案 0 :(得分:0)
如今,SQL有一些程序组件 - 允许您将问题分解为多个较小的步骤。
尝试这两步法:
SELECT AVG (profit)
FROM (SELECT SUM (profit) profit
FROM order_lines
GROUP BY order_number
HAVING COUNT (*) > 5);
首先,我们得到一个包含> 5行和每个利润的订单清单,然后我们平均这些利润。