설명하기가 복잡하여 첨부와 같이 엑셀로 예제를 드립니다. 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() 버튼을 클릭하여 작성 하시면 됩니다.