SELECT sum(iif(tipo = 1, tempo, 0)) / 60.00 AS T_OPERACIONAL, sum(iif(tipo = 0, tempo, 0)) / 60.00 AS T_PARADO from ( SELECT HORA_REGISTRO, STATUS, PROX_DATA, PROX_STATUS, IIF(STATUS = 0, IIF(PROX_STATUS > 0, 1, 0), IIF(STATUS > 1, IIF(PROX_STATUS < 1, 0, 1), 2)) AS TIPO, datediff(second, HORA_REGISTRO, PROX_DATA) AS TEMPO FROM ( SELECT t.hora_registro, t.status, coalesce(lead(t.hora_registro) over (order BY T.hora_registro), t.hora_registro) as prox_data, coalesce(lead(t.status) over (order BY T.hora_registro), t.status) as prox_status from tbregistro_parada t where t.tabela_id = :tabela_id and t.vinculo_id = :vinculo_id and t.tabela = 'OPERACAO' order BY T.hora_registro ) ) where TIPO < 2