Завершіть аналіз шахрайства
Дотепер ми розбили дані про денний спа на потік входів і виходів і впорядкували цей потік у хронологічному порядку. У цьому потоці є два ключові поля: StartOrdinal та StartOrEndOrdinal. StartOrdinal — це хронологічна нумерація всіх входів. StartOrEndOrdinal містить усі входи та виходи у правильному порядку. Маючи ці дві складові, ми можемо знайти максимальну кількість одночасних візитів.
Результати з попередньої вправи тепер збережено у тимчасовій таблиці #StartStopOrder.
Ця вправа є частиною курсу
Аналіз часових рядів у SQL Server
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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 ___ ___;