투케이2K

37. (Oracle/오라클) RANGE, ROWS에서 사용하는 UNBOUNDED PRECEDING, CURRENT ROW, UNBOUNDED FOLLOWING 설명 본문

OracleDB

37. (Oracle/오라클) RANGE, ROWS에서 사용하는 UNBOUNDED PRECEDING, CURRENT ROW, UNBOUNDED FOLLOWING 설명

투케이2K 2021. 1. 17. 12:24

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

[ 개발 환경 설정 ]

개발 툴 : Toad

개발 언어 : Oracle

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

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

[소스 코드]

 

/*
[RANGE, ROWS에서 사용하는 UNBOUNDED PRECEDING, CURRENT ROW, UNBOUNDED FOLLOWING 설명]
1. UNBOUNDED PRECEDING / UNBOUNDED FOLLOWING - 처음행부터 마지막행 결과까지 계산한 합계를 표시해줍니다
2. UNBOUNDED PRECEDING / CURRENT ROW - 처음행부터 현재행 결과까지 계산한 합계를 표시해줍니다
3. CURRENT ROW / UNBOUNDED FOLLOWING - 현재행부터 마지막행 결과까지 계산한 합계를 표시해줍니다
4. 1 PRECEDING / 1 FOLLOWING - 현재행에 이전행+본인+다음행 합계를 표시해줍니다
*/

/* [기본 사용 문법] */
select T_NAME, T_AGE,
       sum(T_AGE) over (partition by T_AGE order by T_AGE desc
                        rows between unbounded preceding and current row) as 그룹별합계
    from TEST_USER
where rownum <=10
    order by T_AGE DESC;

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

[결과 출력]

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

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

[요약 설명]

1. UNBOUNDED PRECEDING / UNBOUNDED FOLLOWING - 처음행부터 마지막행 결과까지 계산한 합계를 표시해줍니다

2. UNBOUNDED PRECEDING / CURRENT ROW - 처음행부터 현재행 결과까지 계산한 합계를 표시해줍니다

3. CURRENT ROW / UNBOUNDED FOLLOWING - 현재행부터 마지막행 결과까지 계산한 합계를 표시해줍니다

4. 1 PRECEDING / 1 FOLLOWING - 현재행에 이전행+본인+다음행 합계를 표시해줍니다

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

반응형
Comments