SELECT PV_COUNT, DATE_NUM, DAY_CHAR, DATE_CHAR,
ROUND(RATIO_TO_REPORT(SUM(PV_COUNT)) OVER() * 100, 2) AS BR_PERCENT
FROM(SELECT PV_COUNT, DATE_NUM, DAY_CHAR, DATE_CHAR
FROM(
SELECT PV_COUNT, DT.DATE_NUM, DT.DAY_CHAR, DT.DATE_CHAR
FROM(
SELECT COUNT(*) AS PV_COUNT, TO_CHAR ( a.action_time, 'YYYY/MM/DD' ) AS DT_HOURS
FROM ci_visitor_actions a
WHERE a.action_time BETWEEN TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' )
AND TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' ) + 0.99999
AND a.id_site = 2
GROUP BY TO_CHAR ( a.action_time, 'YYYY/MM/DD' )
)
,(
SELECT LEVEL lv,
TO_CHAR(TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' )-1 + LEVEL , 'YYYY/MM/DD') AS DATE_NUM,
TO_CHAR(TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' )-1 + LEVEL , 'DY') AS DAY_CHAR,
TO_CHAR(TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' )-1 + LEVEL , 'DD') AS DATE_CHAR
FROM dual CONNECT BY (TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' )-TO_DATE ( '2014/02/21' , 'YYYY/MM/DD' ))+1 >= LEVEL
)DT
)
UNION ALL
(
SELECT DISTINCT TO_NUMBER(NVL(SPEC_VALUE,0)) AS PV_COUNT, DT.DATE_NUM, DT.DAY_CHAR, DT.DATE_CHAR
FROM (
SELECT CAST(SPEC_VALUE AS VARCHAR2(4000)) SPEC_VALUE, SPEC_DATE
FROM T
WHERE ID_SPEC = 'USER_PV'
AND SPEC_DATE >= TO_DATE ( '2014/02/16' , 'YYYY/MM/DD' )
AND TO_DATE ( '2014/02/20' , 'YYYY/MM/DD' ) + 1 > SPEC_DATE
AND id_site = 2
)TBA
,(
SELECT LEVEL lv,
TO_CHAR(TO_DATE ( '2014/02/16' , 'YYYY/MM/DD' )-1 + LEVEL , 'YYYY/MM/DD') AS DATE_NUM,
TO_CHAR(TO_DATE ( '2014/02/16' , 'YYYY/MM/DD' )-1 + LEVEL , 'DY') AS DAY_CHAR,
TO_CHAR(TO_DATE ( '2014/02/16' , 'YYYY/MM/DD' )-1 + LEVEL , 'DD') AS DATE_CHAR
FROM dual CONNECT BY (TO_DATE ( '2014/02/20' , 'YYYY/MM/DD' )-TO_DATE ( '2014/02/16' , 'YYYY/MM/DD' ))+1 >= LEVEL
)DT
WHERE TBA.SPEC_DATE (+) = DT.DATE_NUM
)
)
GROUP BY PV_COUNT, DATE_NUM, DAY_CHAR, DATE_CHAR
ORDER BY DATE_NUM
이 쿼리를 출력하면
PV_COUNT | DATE_NUM | DAY_CHAR | DATE_CHAR| BR_PERCENT
0 2014/02/16 일 16 0
0 2014/02/17 월 17 0
0 2014/02/18 화 18 0
0 2014/02/19 수 19 0
122 2014/02/20 목 20 43.57
158 2014/02/21 금 21 56.43
이렇게 나옵니다.
제가 원하는 결과는
PV_COUNT를 SUM하여서 컬럼하나를 더 만들어서
PV_COUNT | DATE_NUM | DAY_CHAR | DATE_CHAR| BR_PERCENT | SUM
0 2014/02/16 일 16 0 280
0 2014/02/17 월 17 0 280
0 2014/02/18 화 18 0 280
0 2014/02/19 수 19 0 280
122 2014/02/20 목 20 43.57 280
158 2014/02/21 금 21 56.43 280
이렇게 나오는 것입니다.
SUM을 따로하는 쿼리를 만들고 싶진않고, SELECT 해온 PV_COUNT를 SUM 하고 나머지 데이터를 출력하는
방법이 있을까요??