Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como calcular os picos máximos de chamadas recebidas?


Quando uma chamada é iniciada, o número de chamadas aumenta. Quando uma chamada termina, o número de chamadas diminui. Então...
;with cte as
(
    select SessionStartTime as changetime,1 as CC from yourtable
    union all
    select SessionCloseTime,-1 from yourtable
)
    select top 1 changetime,rt from
    (
    select * from cte
        cross apply 
        (select SUM(cc) as rt from cte c where c.changetime<=cte.changetime) rt         
    ) v
    order by rt desc