Завершите анализ мошенничества
К этому моменту мы разбили данные спа-салона на поток входов и выходов и упорядочили его в хронологическом порядке. Поток содержит два ключевых поля: 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 ___ ___;