/* =========================== */ [ 개발 환경 설정 ] 개발 툴 : Toad 개발 언어 : Oracle /* =========================== */ /* =========================== */ [소스 코드]
/* =========================== */ [결과 출력] /* =========================== */ /* =========================== */ [요약 설명] 1. partition by : 소그룹을 만들때 사용합니다 2. unbounded preceding - current row : 처음행부터 현재행까지 계속 순차적 누적 합계를 구합니다 3. 누적 합계 시 order by 컬럼이 중복되지않는 값을 가지고 있어야합니다 /* =========================== */ 오라클의 SELECT 쿼리문의 GROUP BY 합계(sum)의 Total을 추가적으로 출력하고자 할 경우 사용하는 구문 입니다. - ROLLUP : 맨 마지막 행에 Total 출력 SELECT class, sum(score) FROM std GROUP BY ROLLUP(class); - 설명 : class로 그룹핑 된 score의 sum을 출력하고, 맨 마지막 행에 score의 전체 토탈을 추가로 출력된다. SELECT class, sex, sum(score) FROM std GROUP BY ROLLUP(class, sex); - 설명 : class 그룹핑이 끝나는 행 다음마다 각 class의 토탈을 추가로 출력하고, 맨 마지막에 전체의 토탈을 추가로 출력된다. - CUBE : 첫번째 행에 Total 출력 SELECT class, sum(score) FROM std GROUP BY CUBE(class); - 설명 : 첫번째 행에 score의 전체 토탈이 출력되고, 다음 행부터 각 class의 sum이 출력된다, SELECT class, sex, sum(score) FROM std GROUP BY CUBE(class, sex); - 설명 : 첫번째 행부터 전체의 토탈, sex의 토탈, 그리고 class, sex의 sum 순으로 출력된다. ..... 이 글이 도움이 되었기를 바랍니다. ^-^ 공감♡ 클릭과 댓글은 글쓰기에 큰 힘이 됩니다.
|