', где у вас есть условие, которое подразумевает «запуск», например, «Возобновить», найдите следующее случившееся условие, которое прекращает действие для этого order_number - здесь я использовал CROSS APPLY, чтобы упорядочить будущие события по времени, и взять первый, который придетвместе (извините, мне пришлось переключить ASC на DESC, была ошибка в первый раз0
select y.order_number_s, SUM(DATEDIFF(s,y.event_time_t,dq.event_time_t)) AS S FROM YourTable y
CROSS APPLY
(SELECT TOP 1 y2.event_time_t
FROM YourTable y2
WHERE y2.order_number_s = y.order_number_s
AND y2.event_time_t >= y.event_time_t
AND y2.order_state_s IN ('hold','end')
ORDER BY event_time_t ASC
) DQ
WHERE y.order_state_s IN ('resume', 'start')
GROUP BY y.order_number_s