Dokończ analizę nadużyć
Do tej pory podzieliliśmy dane spa na strumień wejść i wyjść, a następnie uporządkowaliśmy ten strumień chronologicznie. Strumień zawiera dwa kluczowe pola: StartOrdinal i StartOrEndOrdinal. StartOrdinal to chronologiczny porządek wszystkich wejść. StartOrEndOrdinal zawiera wszystkie wejścia i wyjścia w kolejności. Mając te dwie informacje, możemy znaleźć maksymalną liczbę jednoczesnych wizyt.
Wyniki z poprzedniego ćwiczenia są teraz zapisane w tabeli tymczasowej #StartStopOrder.
To ćwiczenie jest częścią kursu
Analiza szeregów czasowych w SQL Server
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
SELECT
s.CustomerID,
MAX(2 * s.StartOrdinal - s.StartOrEndOrdinal) AS MaxConcurrentCustomerVisits
FROM #StartStopOrder s
WHERE s.EntryCount = 1
GROUP BY s.CustomerID
-- The difference between 2 * start ordinal and the start/end
-- ordinal represents the number of concurrent visits
HAVING MAX(2 * s.___ - s.___) > 2
-- Sort by the largest number of max concurrent customer visits
ORDER BY ___ ___;