Finalizează analiza fraudei
Până acum, am împărțit datele unui spa de zi într-un flux de intrări și ieșiri și am ordonat acest flux cronologic. Fluxul conține două câmpuri esențiale: StartOrdinal și StartOrEndOrdinal. StartOrdinal reprezintă ordinea cronologică a tuturor intrărilor. StartOrEndOrdinal conține toate intrările și ieșirile în ordine. Cu aceste două informații, putem identifica numărul maxim de vizite simultane.
Rezultatele din exercițiul anterior se află acum într-un tabel temporar numit #StartStopOrder.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în SQL Server
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 ___ ___;