Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- pandas
- sklearn
- 오라클
- 튜닝
- level 1
- 실기
- 빅분기
- SQL
- Kaggle
- python3
- 카카오
- 코딩테스트
- matplotlib
- 머신러닝
- Numpy
- 빅데이터 분석 기사
- Python
- 프로그래머스
- level 2
- 데이터 분석
- R
- 파이썬
- Oracel
- seaborn
- 실습
- oracle
- 알고리즘
Archives
- Today
- Total
라일락 꽃이 피는 날
[Oracle] 데이터 분석 함수 4 - 집계 결과 출력 본문
728x90
데이터 분석 함수
- rollup : 전체 집계를 아래쪽에 출력
- cube : 전체 집계를 위쪽에 출력
- grouping sets : 원하는 집계 결과를 선택해서 출력
예제 1. 직업, 직업 별 토탈 월급을 출력하는데, 전체 집계를 아래쪽에 출력
select job, sum(sal)
from emp
group by rollup(job);
예제 2. 나이, 나이 별 인원 수를 출력하는데, 맨 밑에 전체 인원 수를 출력
select nvl(to_char(age), '전체인원수:'), count(*)
from emp15
group by rollup(age);
예제 3. 부서 번호, 직업과 부서 번호 별, 직업 별 토탈 월급을 출력
select deptno, job, sum(sal)
from emp
group by rollup(deptno, job)
order by 1;
rollup 함수 안의 (컬럼의 개수 + 1)개 만큼 그룹핑된 결과가 나온다.
- deptno, job : 부서 번호 별, 직업 별 토탈 월급
- deptno : 부서 번호 별 토탈 월급
- 전체 : 전체 토탈 월급
예제 4. 직업, 직업 별 토탈 월급을 출력하는데, 전체 토탈 월급을 맨 위쪽에 출력
select job, sum(sal)
from emp
group by cube(job);
예제 5. 부서 번호, 부서 번호 별, 전체 토탈 월급을 출력
select deptno, sum(sal)
from emp
group by grouping sets((deptno), ());
grouping sets (그룹핑 할 컬럼 기술)
grouping sets((deptno), ()) : 부서 번호 별, 전체 토탈 월급
grouping sets((deptno)) : 부서 번호 별 토탈 월급
예제 6. 예제 3을 grouping sets를 이용하여 출력
select deptno, job, sum(sal)
from emp
group by grouping sets((deptno, job), (deptno), ())
order by 1;
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
[Oracle] 조인 - 오라클 조인 (0) | 2022.06.01 |
---|---|
[Oracle] 출력되는 행 제한 (0) | 2022.05.31 |
[Oracle] 데이터 분석 함수 3 - 누적 데이터, 비율 (0) | 2022.05.30 |
[Oracle] 데이터 분석 함수 2 - column/row (0) | 2022.05.30 |
[Oracle] 데이터 분석 함수 1 - 순위/등급/넘버링 (0) | 2022.05.30 |