Как добавить среднее вместе с суммой - PullRequest
0 голосов
/ 12 сентября 2018

Мой запрос:

select
TIERING_2, ASP_NAME , 
sum(case when  SUBCASE_MEASURED = '1' AND FE_TYPE = 'ASP' AND CLOSE_MONTH = '3' and region = 'EEMEA' AND SCHEDULED_RESCHEDULED = 'Scheduled' then 1 else 0 end) DA_SCHEDULED,
sum(case when  SUBCASE_MEASURED = '1' AND FE_TYPE = 'ASP' AND CLOSE_MONTH = '3' and region = 'EEMEA' AND SCHEDULED_RESCHEDULED = 'Reactive'  then 1 else 0 end) FE_DELAY,
sum(case when  SUBCASE_MEASURED = '1' AND FE_TYPE = 'ASP' AND CLOSE_MONTH = '3' and region = 'EEMEA' AND SCHEDULED_RESCHEDULED = 'Reactive'  then 1 else 0 end)Onsite_Time,
sum(case when  SUBCASE_MEASURED = '1' AND FE_TYPE = 'ASP' AND  region = 'EEMEA' AND SCHEDULED_RESCHEDULED = 'Reactive' and LATE_START_CONF_INDICATOR = '0'then 1 else 0 end) Late_hours,
sum(case when  SUBCASE_MEASURED = '1' AND FE_TYPE = 'ASP' AND CLOSE_MONTH = '3' AND ASP_ON_TIME = '1' then 1 else 0 end) ON_TIME
from table_Control_kpi GROUP BY ASP_NAME , TIERING_2

Однако вместе с суммой я хочу среднее время на месте. Может ли кто-нибудь помочь мне объединить приведенный ниже запрос с вышеуказанным запросом

SELECT AVG(ONSITE_TIME) 
FROM table_Control_kpi
WHERE SCHEDULED_RESCHEDULED = 'Reactive' 
  AND ASP_NAME='3D Networks' 
  AND SUBCASE_MEASURED = '1' 
  AND FE_TYPE = 'ASP' 
  AND CLOSE_MONTH = '3'

1 Ответ

0 голосов
/ 12 сентября 2018

Может быть, использовать window function?

SELECT TIERING_2, ASP_NAME ,
       --all the sums up there
       ,AVG(CASE 
          WHEN SCHEDULED_RESCHEDULED = 'Reactive' 
          AND ASP_NAME='3D Networks' 
          AND SUBCASE_MEASURED = '1' 
          AND FE_TYPE = 'ASP' 
          AND CLOSE_MONTH = '3'
        THEN ONSITE_TIME END) OVER ()
FROM table_Control_kpi GROUP BY ASP_NAME , TIERING_2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...