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)
       );
希望对你有帮助