오라클 month week임의로 계산하는 쿼리 질문 드립니다. 0 3 2,476

by 도겸아빠 [SQL Query] [2013.01.09 16:52:54]



안녕하세요.
쿼리실력이 부족하여 도저히 답이 안나와서 문의 드립니다.

설명하기가 복잡하여 첨부와 같이 엑셀로 예제를 드립니다.
month week를 목요일을 기준으로 임의로 month week를 구하는 것인데
오라클 함수는 존재하지 않는것 같고 
어떻게 하면 원하는 답을 얻을 수 있을까요??
패턴은 있는데 쿼리로 하려니 도저히....^^
고수님들 신의 한수 부탁드립니다.

즐건 저녁되세요^^
by 마농 [2013.01.09 17:51:19]
WITH t AS
(
SELECT TO_DATE('201212', 'yyyymm') + LEVEL - 1 dt
FROM dual
CONNECT BY LEVEL <= 151
)
SELECT dt
     , TO_CHAR(TRUNC(dt + 3, 'd'), 'yyyymm')
       || '-' ||
       DENSE_RANK() OVER(
       PARTITION BY TO_CHAR(TRUNC(dt + 3, 'd'), 'yyyymm')
       ORDER BY TRUNC(dt + 3, 'd')
       ) ym_w
  FROM t
 ORDER BY dt
;

by 도겸아빠 [2013.01.09 17:58:35]
마농님 정말 대박이십니다.....
어떻게 이렇게 짧은 쿼리로 원하는 결과를 얻을수 있는지 ....
신의 경지네요...^^
감사합니다.

by 아발란체 [2013.01.09 18:53:21]
저도 늘 마농님에게 배우고 있지만 마농님 신 맞아요!
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입