получить среднее затраченное время за каждый месяц - PullRequest
1 голос
/ 15 января 2020

У меня есть таблица с датой ввода и датой завершения (записи go за пару лет), и мне нужно написать запрос, который дает среднее количество времени, которое требуется для выполнения каждого месяца. Я могу получить общее среднее значение

SELECT AVG ( t.completion_dt - t.entry_dt ) * 24 
  FROM table t;

или среднее значение для специфика c месяц ,

SELECT AVG ( t.completion_dt - t.entry_dt ) * 24 
  FROM table t
 WHERE t.entry_dt BETWEEN to_date('2018/12/01','yyyy/mm/dd') AND
                          to_date('2019/1/01', 'yyyy/mm/dd');

Есть ли способ получить запрос вернуть среднее значение за каждый месяц?

1 Ответ

3 голосов
/ 15 января 2020

Если вы хотите видеть каждый месяц / год независимо (январь 2020 года в другой строке с январем 2019 года), то вы можете сгруппировать данные в поле entry_dt, усеченное в этом месяце.

SELECT trunc(t.entry_dt,'MM'),
       AVG ( t.completion_dt - t.entry_dt ) * 24 
  FROM table t
group by trunc(t.entry_dt,'MM');

Если вы хотите усреднить ВСЕ январские месяцы вместе по нескольким годам, вам нужно сгруппировать что-то вроде to_char в вашем поле entry_dt.

SELECT to_char(t.entry_dt, 'Month'),
       AVG ( t.completion_dt - t.entry_dt ) * 24 
  FROM table t
group by to_char(t.entry_dt, 'Month');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...