Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie berechnet man die maximalen eingehenden Anrufspitzen?

Wenn ein Anruf beginnt, erhöht sich die Anzahl der Anrufe. Wenn ein Anruf beendet wird, nimmt die Anzahl der Anrufe ab. Also...

;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