0

我有一个如下所示的表格:

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 查询中下达的订单的平均值。谢谢

4

3 回答 3

0

你在寻找这样的东西吗?

SELECT COUNT(DISTINCT order_id) / COUNT(DISTINCT cust_id) orders_per_customer
  FROM orders

输出:

| ORDERS_PER_CUSTOMER |
|----------------------|
| 2.75 |

这是SQLFiddle演示

于 2013-10-02T01:21:16.017 回答
0

Oracle有一个平均功能

像这样的东西应该可以工作。

   SELECT AVG(CUST_ID), AVG(ORDER_ID)
   FROM SOME_TABLE
于 2013-10-02T01:12:55.947 回答
0

尝试这样的事情:

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

如果您正在寻找数量、价格或其他信息,只需根据您的需要进行配置。

于 2013-10-02T01:17:09.513 回答