안녕하세요. 고수님들의 조언 부탁드립니다.
특정 기간의 특정 요일에 갯수를 구하고 싶습니다.
예를 들어, 2월9일부터19일까지의 일요일의 갯수를 구하는 쿼리에 대한 질문입니다.
조회시 2 가 출력되어야 합니다. (1단 이상이 될 수도 있습니다.)
많은 조언 부탁드립니다..
select day1, count(*) from ( SELECT TO_DATE('20120209','yyyymmdd') + LEVEL - 1 dt , TO_CHAR(TO_DATE('20120209','yyyymmdd') + LEVEL - 1, 'day') day1 , TO_CHAR(TO_DATE('20120209','yyyymmdd') + LEVEL - 1, 'd') day2 FROM dual CONNECT BY LEVEL <= TO_DATE('20120219','yyyymmdd') - TO_DATE('20120209','yyyymmdd') + 1 ) group by day1, day2 order by day2
WITH t AS ( SELECT TO_DATE('20120209', 'yyyymmdd') sdt , TO_DATE('20120219', 'yyyymmdd') edt , '일' dy FROM dual ) SELECT sdt, edt, dy , CEIL((edt - NEXT_DAY(sdt - 1, dy) + 1) / 7) dy_cnt FROM t ;
정말 감사합니다. 많이 고민했는데~
유용하게 쓰겠습니다. ^^