我有一个如下所示的表格:
Customer_Order 表
Cust_ID Order_id
1 1
1 2
1 3
2 4
2 5
3 6
4 7
4 8
4 9
4 10
4 11
如何获取客户在 Oracle 查询中下达的订单的平均值。谢谢
你在寻找这样的东西吗?
SELECT COUNT(DISTINCT order_id) / COUNT(DISTINCT cust_id) orders_per_customer
FROM orders
输出:
| ORDERS_PER_CUSTOMER | |----------------------| | 2.75 |
这是SQLFiddle演示
Oracle有一个平均功能
像这样的东西应该可以工作。
SELECT AVG(CUST_ID), AVG(ORDER_ID)
FROM SOME_TABLE
尝试这样的事情:
SELECT AVG(qty), Cust_ID FROM
(Orders o JOIN Customer_Order c ON o.Order_id = c.Order_id)
GROUP BY Cust_ID
在这里查看它的实际应用。
样本结果:
AVG(QTY) CUST_ID
10 1
2.5 2
6 3
如果您正在寻找数量、价格或其他信息,只需根据您的需要进行配置。