SQL для вычисления среднего из двух разных условий - PullRequest
0 голосов
/ 26 марта 2019

Необходимо рассчитать время отклика с момента, когда представитель колл-центра получает инициативу, и сколько времени ему потребуется, чтобы принять участие

Чтобы рассчитать время, необходимое для того, чтобы представитель увидел «НОВЫЙ» шаг И «Follow_up» на нем

ТАБЛИЦА Т

ID , T_NAME , CRTE_TIMESTMP

123, NEW, 2019-01-01-00.15.32.2820000

456, NEW, 2019-01-01-00.16.23.4320000

123, ПОСЛЕДУЮЩИЕ, 2019-01-02-15.31.48.1640000

** РЕЗУЛЬТАТ должен быть **

ID , TIME_TOOK

123, (2019-01-01-00.15.32.2820000) - (2019-01-02-15.31.48.1640000)

1 Ответ

0 голосов
/ 26 марта 2019

Может выглядеть следующим образом

with temp as (
select ID
     , T_NAME
     , CRTE_TIMESTMP,
       lag(CRTE_TIMESTMP) over (partition by id order by CRTE_TIMESTMP) as CRTE_TIMESTMP_lag
from t
) 
select ID
     , hours_between (CRTE_TIMESTMP,CRTE_TIMESTMP_lag ) as time_took
  from temp
 where t_name = 'FOLLOW-UP'

В зависимости от необходимой вам степени детализации, вы можете также использовать seconds_between или days_between или любую из других предлагаемых функций в Db2 11

...