투케이2K

129. (Oracle/오라클) grouping 사용해 rollup 구문에서 빈 컬럼 값 대체 출력 실시 본문

OracleDB

129. (Oracle/오라클) grouping 사용해 rollup 구문에서 빈 컬럼 값 대체 출력 실시

투케이2K 2021. 5. 6. 07:38

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Toad

개발 언어 : Oracle

/* =========================== */

/* =========================== */

[소스 코드]

 

/*
[grouping 사용해 rollup 구문에서 빈 컬럼 값 대체 출력 실시]
1. grouping 함수는 그룹쿼리에서 사용하는 함수로 컬럼에 값이 있으면 0, 컬럼에 값이 없으면 1 값을 반환합니다
2. grouping 함수는 해당 Row가 RollUp에 의서인지 Cube에 의해서 산출된 값인지 구별 할 수있습니다
3. rollup 함수는 group by 절에서 함께 사용되며 그룹별 소계를 구할때 사용됩니다
4. rollup(t_rank, t_dept) : 부서별 직급 인원수를 확인합니다 
*/

select case when grouping(t_rank) = 0 then t_rank else '합계' end as 직급, 
       case when grouping(t_dept) = 0 then t_dept else '-' end as 부서, 
       count(t_rank) as 인원수
    from test_user
where t_rank in ('이사', '주임')
group by rollup(t_rank, t_dept);

/* =========================== */

[결과 출력]

/* =========================== */

/* =========================== */

[요약 설명]

1. grouping 함수는 그룹쿼리에서 사용하는 함수로 컬럼에 값이 있으면 0, 컬럼에 값이 없으면 1 값을 반환합니다

2. grouping 함수는 해당 Row가 RollUp에 의서인지 Cube에 의해서 산출된 값인지 구별 할 수있습니다

3. rollup 함수는 group by 절에서 함께 사용되며 그룹별 소계를 구할때 사용됩니다

4. rollup(t_rank, t_dept) : 부서별 직급 인원수를 확인합니다

/* =========================== */

반응형
Comments