티스토리 뷰

1. 분석함수 - 역할

◈ 역할


데이터를 분석하는 기능을 하는 함수


◈ 구문형식


분석함수(컬럼1,컬럼2...) OVER ( PARTITION BY .... ORDER BY ... WINDOWING ...)


분석함수 종류


AVG 

CORR 

COVAR_POP 

COUNT 

CUM_DIST

DENSE_RANK 


FIRST 

LAST 

FIRST_VAEUE 

LAG

LAST_VALUE

LEAD 


MAX 

MIN 

NTILE

PERCENT_RANK

 PERCENTILE_CONT

PERCENTILEDISC


RANK 

RATIO_TO_REPORT 

SUM





PARTITION BY 절 - 분석 함수의 계산대상 그룹 지정


ORDER BY 절 - 계산 대상 그룹에 대해 정렬작업 수행


WINDOWING 절 - 분석 함수 대상이 되는 기준을 좀 더 세부적으로 정의


2. 분석함수 - 기본 테이블

◈ TEST_TABLE_ONE


 IDX

NAME

ID

 DEPT

AMT

 1

테스트1

test1

 test_d1

1000 

 2

테스트2

test2

 test_d1

1000

 3

테스트3

test3

 test_d2

 2000 

 4

테스트4

test4

 test_d2

 2000 

 5

테스트5

test5

 test_d2

 500


3. 분석함수 - SQL 문장

◈ SQL

1
2
3
4
5
SELECT DEPT
       ,NAME
       ,AMT
       ,SUM(amt) OVER (PARTITION BY DEPT ORDER BY NAME) AS STAT_SUM
            FROM TEST_TABLE_ONE






◈ 결과 테이블


 DEPT

NAME

AMT

 STAT_SUM

 test_d1 

테스트1 

1000

1000

test_d1

테스트2 

1000

2000

 test_d2 

테스트3 

2000

2000

test_d2 

테스트4 

2000

4000

test_d2 

테스트5 

5000

9000




◈ 설명


위에서 본다면 현재 STAT_SUM 컬럼은 부서별로 소계 금액을 표시하고 있습니다


즉 테스트2에 해당하는 ROW 는 테스트1,테스트2의 금액 1000+1000 = 2000 에 해당하는 금액입니다


테스트4,테스트5도 마찬가지로 test_d2 부서에 해당하는 소계를 보여주고 있습니다




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday