DB

[SQL] 오라클 OVER 함수

초코파이쩡 2023. 3. 28. 10:47
반응형

OVER절 이란? (총합,순위,퍼센테이지,평균,누적)
데이터를 통계 OR 다수의 집계결과가 필요할때 서브쿼리를 사용하지 않고 간단하게 만들어주는 것 

 

OVER() 함수 사용법

1. 분석 함수 + OVER()는 필수

2. OVER 안의 내용은 필요한 경우에만 작성

분석_함수() OVER(PARTITION BY 컬럼 / ORDER BY 컬럼 / 세부 분할 기준)   AS 컬럼명

 

분석 함수 종류

- RANK, DENSE_RANK에는 ORDER BY 필수

COUNT(컬럼) - 갯수
SUM(컬럼) - 합계
AVG(컬럼) - 평균
MAX(컬럼) - 최대값
MIN(컬럼) - 최소값
RANK() OVER(ORDER BY 컬럼...) - 순위
DENSE_RANK() OVER(ORDER BY 컬럼...) - 중복 순위가 있어도 1씩 증가

 

각 컬럼의 의미

PARTITION BY 어느 컬럼을 기준으로 쪼갤지 의미 (GROUP BY와 동일한 기능)
ex) PARTITION BY JOB로 했을 시 JOB를 기준으로 쪼개개 된다
ORDER BY 정렬 시 기준을 설정 기본은 오름차순(ASC)이고 내림차순(DESC)으로 설정

 


참고

 

오라클 OVER() 개념부터 사용법까지

오라클에서 OVER() 를 사용하면 GROUP BY나 서브쿼리를 사용하지 않고 분석 함수(SUM, MAX, COUNT)과 집계 함수(GROUP BY, ORDER BY)를 사용할 수 있는데 집계 함수 사용 시 서브쿼리가 지나치게 길어지는 것을

wakestand.tistory.com

 

반응형