1. SQL :
SELECT
SUM(DECODE(a.day_num, '1', a.day_cnt, '')) "sunDay",
SUM(DECODE(a.day_num, '2', a.day_cnt, '')) "monDay",
SUM(DECODE(a.day_num, '3', a.day_cnt, '')) "tueDay",
SUM(DECODE(a.day_num, '4', a.day_cnt, '')) "wedDay",
SUM(DECODE(a.day_num, '5', a.day_cnt, '')) "thuDay",
SUM(DECODE(a.day_num, '6', a.day_cnt, '')) "friDay",
SUM(DECODE(a.day_num, '7', a.day_cnt, '')) "satDay"
FROM
(SELECT (rownum + 7) - TO_NUMBER(TO_CHAR(TO_DATE(:dateYyyymm||TO_CHAR(rownum), 'YYYYMMDD'), 'd')) day_cal,
TO_CHAR(TO_DATE(:dateYyyymm||TO_CHAR(rownum), 'YYYYMMDD'), 'd') day_num,
rownum day_cnt
FROM all_objects
WHERE rownum <= TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(:dateYyyymm||'01', 'YYYYMMDD')),'dd'))
) a
GROUP BY a.day_cal
ORDER BY a.day_cal
※ dataYyyymm : 조회하려는 년월(예: 201412)
2. 결과 : dataYyyymm : 201412
sunDay |
monDay |
tueDay |
wedDay |
thuDay |
friDay |
satDay |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
|
|
'프로그래밍 > SQL' 카테고리의 다른 글
Tomcat validationQuery 설정 (0) | 2016.10.23 |
---|---|
오라클 한글 몇바이트로 인식되고 있는지 확인하는 방법 (0) | 2015.04.23 |
오라클 주간 요일 날짜 구하기 (0) | 2014.03.18 |
월별 주차 구하기, 오라클 해당월의 주차 구하기 (0) | 2014.03.10 |
오라클(Oracle) 한글 깨짐 현상 처리 (0) | 2013.11.13 |
댓글