투케이2K

92. (Oracle/오라클) sum over partition by 사용해서 그룹별 누적 합계 및 총 합계 구하기 실시 본문

OracleDB

92. (Oracle/오라클) sum over partition by 사용해서 그룹별 누적 합계 및 총 합계 구하기 실시

투케이2K 2021. 1. 28. 16:19

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

[ 개발 환경 설정 ]

개발 툴 : Toad

개발 언어 : Oracle

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

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

[소스 코드]

 

/*
[sum over partition by 사용해서 그룹별 누적 합계 및 총 합계 구하기 실시]
1. partition by : 소그룹을 만들때 사용합니다
2. unbounded preceding - current row : 처음행부터 현재행까지 계속 순차적 누적 합계를 구합니다
3. 누적 합계 시 order by 컬럼이 중복되지않는 값을 가지고 있어야합니다
*/    
select distinct t_name, 
                t_age, 
                t_dept,
                sum(t_age)over(partition by t_dept 
                                order by t_name desc --누적 합계 시 order by 컬럼이 중복되지않는 값을 가지고 있어야합니다
                                rows between unbounded preceding and current row) as 누적합계,
                sum(t_age)over(partition by t_dept) as 총합계
    from test_user
order by t_dept asc; 

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

[결과 출력]

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

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

[요약 설명]

1. partition by : 소그룹을 만들때 사용합니다

2. unbounded preceding - current row : 처음행부터 현재행까지 계속 순차적 누적 합계를 구합니다

3. 누적 합계 시 order by 컬럼이 중복되지않는 값을 가지고 있어야합니다

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

반응형
Comments