计算条件订单的平均利润

时间:2017-10-16 15:46:28

标签: oracle

我有下表

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;

但它不起作用。有人可以帮我这个吗?非常感谢你!!

1 个答案:

答案 0 :(得分:0)

如今,SQL有一些程序组件 - 允许您将问题分解为多个较小的步骤。

尝试这两步法:

SELECT AVG (profit)
FROM   (SELECT SUM (profit) profit
        FROM   order_lines
        GROUP BY order_number
        HAVING COUNT (*) > 5);

首先,我们得到一个包含> 5行和每个利润的订单清单,然后我们平均这些利润。