반응형
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
반응형
'DB' 카테고리의 다른 글
[SQL] 오라클 AS (Alias) 알리아스 별칭 사용법 (0) | 2023.04.04 |
---|---|
[SQL] 오라클 NVL 함수 (0) | 2023.04.03 |
[SQL] SQL 각각의 구문의 의미와 순서 (0) | 2023.03.28 |
[SQL] Oracle Developer 테이블 여러개 열기 (0) | 2023.03.24 |
[SQL] 조건문 DECODE (0) | 2023.03.23 |