我有一个包含以下列的表
OrderID Number
ProductID Number
Order_date Datetime
Qty number
如何获得一系列日期的每日平均订单数量。我想知道包括在内的10月31日到11月4日期间每天的平均订单。
提前致谢。
答案 0 :(得分:6)
您的问题有点矛盾,fisrt要求每天平均订单数量,然后询问平均订单(这表示您想要平均数量,而不是平均订单数量)
这应该为您指定的范围提供每天的平均数量(尽管插入您的表名):
SELECT TRUNC(order_date) AS order_day,
AVG(qty) AS daily_orders
FROM <table>
WHERE order_date
BETWEEN TO_DATE('31-OCT-2011 00:00:00', 'DD-MON-YYYY HH24:MI:SS')
AND TO_DATE('04-NOV-2011 23:59:59', 'DD-MON-YYYY HH24:MI:SS')
GROUP BY TRUNC(order_date);
如果您确实要求在您引用的时间段内每天的平均订单数量(不是平均数量),那么您需要运行:
SELECT AVG(orders_per_day)
FROM (
SELECT TRUNC(order_date), count(*) AS orders_per_day
FROM <table>
WHERE order_date
BETWEEN TO_DATE('31-OCT-2011 00:00:00', 'DD-MON-YYYY HH24:MI:SS')
AND TO_DATE('04-NOV-2011 23:59:59', 'DD-MON-YYYY HH24:MI:SS')
GROUP BY TRUNC(order_date)
);
希望它有所帮助...