조회된 결과값에 합계값 추가하기. 0 3 2,496

by 정진우 [SQL Query] [2014.01.21 14:36:26]


DAY_NUMDAY_CHARDAY_COUNTVISIT_CNTVISIT_AVGVISIT_PERCENTPV_CNTPV_AVGPV_PERCENT
10000000
2273.563.644321.572.88
31119.09111.69
40000000
50000000
613327.27151525.42
70000000

안녕하세요 ^^ 정진우입니다.

저번에 올린 글처럼 저는 현재 로그분석을 하는 SQL를 만들고있는데요.

다른 분들께서 올리신 질문과, 고맙게 답변달아주신 분들의 쿼리문을 토대로 위와 같이

일주일간에 방문수, 페이지뷰수 등을 뽑아 내는 쿼리로 위와 같은 데이터가 조회가 되는데요.

맨 밑이나, 제일 상단에다가, 각 항목의 최대값이나, 평균값을 추가로 더 조회되도록 하고 싶은데,

어떠한 SQL문법을 사용해서 가능할까요 ?
by 정진우 [2014.01.21 15:04:56]
안녕하세요, 글을 달아놓은 상태여서, 삭제는 좀 그렇고 .

혹시나 비슷한 문제로 고민하실 것 같은 분들을 위해 제가 셀프답변을 달겠습니다.

작성하고나서, "합계"로 재검색해보고 참고하였는데요.
WITH CONCENT_SUM(DAY_NUM, DAY_CHAR, DAY_COUNT, VISIT_CNT, VISIT_AVG, VISIT_PERCENT, PV_CNT, PV_AVG, PV_PERCENT) AS (
   테이블 내용 조회용 쿼리문
) --WITH을 닫고
SELECT NVL(DAY_NUM,'TOTAL') AS DAY_NUM,
    DAY_CHAR, 
    DAY_COUNT, 
    VISIT_CNT, 
    VISIT_AVG, 
    VISIT_PERCENT, 
    MAX(PV_CNT) AS PV_CNT, 
    PV_AVG, 
    PV_PERCENT 
    FROM CONCENT_SUM
GROUP BY ROLLUP((DAY_NUM, DAY_CHAR, DAY_COUNT, VISIT_CNT, VISIT_AVG, VISIT_PERCENT, PV_AVG, PV_PERCENT));


by 마농 [2014.01.22 09:16:29]
위와 같은 결과를 얻었다면 이미 집계함수를 다양하게 사용하셨을 것입니다.
그걸 다시 묶어 다시 그룹바이 롤업 하셨네요.
롤업을 이용한 합계는 pv_cnt 뿐이구요.
원본 쿼리의 그룹바이에서 바로 롤업을 사용한다면
pv_cnt 뿐 아니라 다른 항목들의 전체 집계도 가능하리라 생각됩니다.

by 정진우 [2014.01.22 09:51:33]
감사합니다, 우선 위에 작성한 쿼리에는 PV_CNT를 제외하고 구현하려면 저렇게 해야되더라구요.

^^ 

위내용들은 마농님을 비롯해 다른 분들께서도 비슷한 질의에 대해서 답변을 달아주셔서

참고해서 셀프댓글을 달 수 있었습니다.

수고하세요 ~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입