Запрос, который возвращает Среднее количество записей в определенном диапазоне дат - PullRequest
0 голосов
/ 11 ноября 2011

У меня есть таблица со следующими столбцами

OrderID     Number
ProductID   Number 
Order_date  Datetime
Qty         number

Как узнать среднее количество заказов, размещенных за день, для диапазона дат.Я хочу знать среднее количество заказов, размещаемых за день с 31 октября по 4 ноября, включая оба дня.

Заранее спасибо.

1 Ответ

6 голосов
/ 11 ноября 2011

Ваш вопрос немного противоречив, он сначала запрашивает среднее количество заказов в день, а затем запрашивает среднее количество заказов (что говорит о том, что вы хотите среднее количество, а не среднее количество заказов)

Это должно дать вам усредненный QTY для каждого дня для указанного вами диапазона (впишите ваше имя таблицы):

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)
       );

Надеюсь, это поможет ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...