비투엔 라이프/스토리

재미삼아 풀어보는 SQL 작성 QUIZ! 문제풀이

알 수 없는 사용자 2016. 2. 17. 15:54



  문제풀이  

    1. 누락된 시간을 찾기 위해서 온전한 시간 테이블을 가상으로 생성해야 한다.
      가상의 데이터를 생성하기 위해서는 CONNECT BY절을 이용한다.

    2. 누락된 데이터와 온전한 데이터를 OUTER JOIN하여 온전한 데이터 집합으로 생성한다.

    3. ROWNUMBER 분석함수를 이용하여 시간이 중복인 데이터를 찾는다.

    4. LAG 함수를 사용하여 이전 시간과 현재 시간의 차이를 비교하여 10분 이상(lev:1)일 경우에 그룹의 시작점으로 지정한다.

    5. 누적 합계를 이용하여 그룹의 시작점을 기준으로 모든 데이터에 그룹을 지정한다.

    6. 30분 이내의 데이터는 제외하고 사용자별, 일자별로 그룹핑하여 원하는 결과집합을 산출한다.