데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

번호    시작시간           종료시간

1000    2016-11-10 09:00    2016-11-10 09:40
1000    2016-11-10 09:30    2016-11-10 09:50
1000    2016-11-10 10:00    2016-11-10 10:10
1000    2016-11-10 10:05    2016-11-10 10:10
1000    2016-11-10 10:05    2016-11-10 10:15


원하는 결과

>>

번호    총합

1000    65


검색해서 찾은 쿼리문으로 짜봤는데

결과값이 60이 나오네요 ㅠ 도와주세요


SELECT NO, SUM(DATEDIFF(MINUTE, Date1, Date2)) AS WorkTime
FROM
(
       SELECT A.NO, A.Date1,
       CASE WHEN A.Date2 < B.Date1 OR B.Date1 IS NULL THEN A.Date2 ELSE B.Date1 END AS Date2
       FROM
       (
             SELECT NO, Date1, Date2, ROW_NUMBER() OVER (PARTITION BY NO ORDER BY Date1) AS NUM1
             FROM DateTest
             GROUP BY NO, Date1, Date2
       ) AS A
       LEFT OUTER JOIN

       (
             SELECT NO, Date1, ROW_NUMBER() OVER (PARTITION BY NO ORDER BY Date1) AS NUM1
             FROM DateTest
             GROUP BY NO, Date1
       ) AS B
       ON A.NUM1 = B.NUM1 - 1
) AS A
GROUP BY NO






XE Login