SELECT REPLACE(LPAD(b.lv,2, '0'), '24', '00') AS PV_DATE,NVL(PV_COUNT,0) AS PV_COUNT, SPEC_DATE, ID_SITE
FROM(
SELECT COUNT(*) AS PV_COUNT, TO_CHAR ( a.action_time, 'HH24' ) AS PV_DATE, TO_CHAR(a.action_time, 'YY/MM/DD') AS SPEC_DATE, ID_SITE
FROM ci_visitor_actions a
WHERE a.action_time BETWEEN TO_DATE ('2014/02/20' , 'YYYY/MM/DD' )
AND TO_DATE ( '2014/02/20' , 'YYYY/MM/DD' ) + 0.99999
GROUP BY TO_CHAR ( a.action_time, 'HH24' ),TO_CHAR ( a.action_time, 'YY/MM/DD' ), ID_SITE
)a
,(SELECT LEVEL lv FROM DUAL CONNECT BY 24 >= LEVEL
)b
WHERE a.PV_DATE (+) = B.lv
ORDER BY PV_DATE,ID_SITE
쿼리를 조회하면
PV_DATE , PV_COUNT , SPEC_DATE, ID_SITE
00 0 (null)
(null)01 0
(null) (null)02 0
(null) (null)03 0
(null) (null)04 0
(null) (null)05 0
(null) (null)06 0
(null) (null)07 0
(null) (null)08 0
(null) (null)09 13 14/02/19 2
09 9 14/02/20 2
10 19 14/02/19 2
11 3 14/02/20 1
11 45 14/02/20 2
12 22 14/02/20 2
12 1 14/02/19 2
13 2 14/02/20 2
13 6 14/02/19 2
14 14 14/02/20 2
14 8 14/02/19 2
15 7 14/02/20 2
15 18 14/02/19 2
16 5 14/02/19 2
16 4 14/02/20 2
17 9 14/02/20 1
17 2 14/02/20 2
17 28 14/02/19 2
18 2 14/02/19 1
18 11 14/02/19 2
18 7 14/02/20 2
19 4 14/02/20 1
19 10 14/02/20 2
19 8 14/02/19 2
20 0
(null) (null)21
0
(null) (null)이렇게 결과가 나옵니다
제가 원하는 결과는
해당 날짜에 00~23까지 모두 나오고
(14/02/19 = 00~23)
(14/02/20 = 00~23)
그리고 또 ID_SITE 가 1,2가 있는데
그렇다면
해당날짜에 00~23까지 1,2 모두 나오는 것입니다.
(14/02/19 = 00~23) = 1
(14/02/19 = 00~23) = 2
(14/02/20 = 00~23) = 1
(14/02/20 = 00~23) = 2
PV_DATE , PV_COUNT , SPEC_DATE, ID_SITE
00
0
14/02/20 100
0
14/02/20 201
0
14/02/20
1
01 0 14/02/20 2 02
0
14/02/20 102
0
14/02/20 203
0
14/02/20 103
0
14/02/20 204
0
14/02/20 104
0
14/02/20 205
0
14/02/20 105
0
14/02/20 206
0
14/02/20 106
0
14/02/20 207
0
14/02/20 107
0
14/02/20 208
0
14/02/20 108
0
14/02/20
2
09
0
14/02/20 1
09
9
14/02/20
2
10
0
14/02/20 1
10
0
14/02/20 2
11
3
14/02/20
1
11
45
14/02/20
2
12
0
14/02/20 1
12
22
14/02/20
2
13
0
14/02/20 1
13
2
14/02/20
2
14
0
14/02/20 1
14
14
14/02/20
2
15
0
14/02/20 1
15
7
14/02/20
2
16
0
14/02/20 1
16
4
14/02/20
2
17
9
14/02/20
1
17
2
14/02/20
2
18
0
14/02/20 1
18
7
14/02/20
2
19
4
14/02/20
1
19
10
14/02/20
2
20
0
14/02/20 120
0
14/02/20 2
21
0
14/02/20 121
0
14/02/20 2
22
0
14/02/20 122
0
14/02/20 2
23
0
14/02/20 123
0
14/02/20 2
00
0
14/02/19 100
0
14/02/19 201
0
14/02/19
1
01 0 14/02/19 2 02
0
14/02/19 102
0
14/02/19 203
0
14/02/19 103
0
14/02/19 204
0
14/02/19 104
0
14/02/19 205
0
14/02/19 105
0
14/02/19 206
0
14/02/19 106
0
14/02/19 207
0
14/02/19 107
0
14/02/19 208
0
14/02/19 108
0
14/02/19
2
09
0
14/02/19
1
09
9
14/02/19
2
10
0
14/02/19 1
10
0
14/02/19 2
11
3
14/02/19
1
11
45
14/02/19
2
12
0
14/02/19 1
12
22
14/02/19
2
13
0
14/02/19 1
13
2
14/02/19
2
14
0
14/02/19 1
14
14
14/02/19
2
15
0
14/02/19 1
15
7
14/02/19
2
16
0
14/02/19 1
16
4
14/02/19
2
17
9
14/02/19
1
17
2
14/02/19
2
18
0
14/02/19 1
18
7
14/02/19
2
19
4
14/02/19
1
19
10
14/02/19
2
20
0
14/02/19 120
0
14/02/19 2
21
0
14/02/19 121
0
14/02/19 2
22
0
14/02/19 122
0
14/02/19 2
23
0
14/02/19 123 0 14/02/19 2
질문이 조금 헷갈립니다.
제가 조회하는 모든 결과는 null없이 ID_SITE별 날짜별로 24시간 모두나오게 하고싶은 것입니다.
도와주세요 ㅠ