시작하기무료로 시작하기

이벤트 스트림 만들기

이전 연습 문제에서는 데이 스파 데이터를 입장과 퇴장 이벤트 스트림으로 분리했어요. 데이터를 언피벗(unpivot)하면 다음 단계인 전체 스트림 정렬로 나아갈 수 있어요.

이전 연습 문제의 결과는 이제 #StartStopPoints라는 임시 테이블에 있어요. 이 테이블의 열은 CustomerID, TimeUTC, EntryCount, StartOrdinal이에요. 이 연습 문제에서 사용할 열은 이 네 가지뿐이에요. TimeUTC는 이벤트 시각을, EntryCount는 해당 이벤트의 순변화(+1 또는 -1)를, StartOrdinal은 입장 이벤트에서만 나타나 입장 순서를 의미해요.

이 연습은 강의의 일부입니다

SQL Server에서의 시계열 분석

강의 보기

연습 안내

  • 적절한 윈도 함수(ROW_NUMBER())를 사용해 체크인과 체크아웃 스트림을 시간순으로 생성하세요.
  • 사용자별 결과를 계산할 수 있도록 customer ID로 파티션을 나누세요.
  • 이벤트 시각으로 정렬하고, 동률은 start ordinal 값으로 해결하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

SELECT s.*,
    -- Build a stream of all check-in and check-out events
	___() OVER (
      -- Break this out by customer ID
      PARTITION BY s.___
      -- Order by event time and then the start ordinal
      -- value (in case of exact time matches)
      ORDER BY s.___, s.___
    ) AS StartOrEndOrdinal
FROM #StartStopPoints s;
코드 편집 및 실행