Oracle 返回特定日期范围内平均记录数的查询
我有一个包含以下列的表Oracle 返回特定日期范围内平均记录数的查询,oracle,oracle11g,Oracle,Oracle11g,我有一个包含以下列的表 OrderID Number ProductID Number Order_date Datetime Qty number 如何获取一系列日期内每天的平均订单数量。我想知道从10月31日到11月4日这两天内每天的平均订单量 提前谢谢。你的问题有点矛盾,它首先询问每天的平均订单数量,然后询问平均订单数量,这表明你想要的是平均数量,而不是平均订单数量 这将为您提供指定范围内每天的平均数量插入tablename,尽管: SELECT TRUN
OrderID Number
ProductID Number
Order_date Datetime
Qty number
如何获取一系列日期内每天的平均订单数量。我想知道从10月31日到11月4日这两天内每天的平均订单量
提前谢谢。你的问题有点矛盾,它首先询问每天的平均订单数量,然后询问平均订单数量,这表明你想要的是平均数量,而不是平均订单数量 这将为您提供指定范围内每天的平均数量插入tablename,尽管:
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)
);
希望对你有帮助