제6절 윈도우 함수
1. WINDOW FUNCTION 개요
- 그룹 내 순위, 그룹 내 집계, 그룹 내 행 순서, 그룹내 비율 관련 함수로 구성
- OVER 문구가 필수로 포함된다.
-
SELECT WINDOW_FUNCTION (ARGUMENTS) OVER ( [PARTITION BY 칼럼] [ORDER BY 절] [WINDOWING 절] ) FROM ;
2. 그룹 내 순위 함수
(1) RANK 함수
- ORDER BY / PARTITION을 포함한 QUERY 문에서 특정 함목에 대한 순위를 구하는 함수
- 동일한 값에 대해 동일한 순위를 부여한다.
-
SELECT 칼럼명, RANK() OVER (조건) ALIAS명 FROM 테이블명
(2) DENSE_RANK 함수
- RANK 함수와 흡사하나, 동일한 순위를 하나의 건수로 취급하는 것이 틀리다.
(3) ROW_NUMBER 함수
- RANK나 DENCE_RANK가 동일한 값에 대해서는 동일한 순위를 부여하는데 반해, 동일한 값이라도 고유한 순위를 부여한다.
3. 일반 집계 함수
(1) SUM 함수 : 합계
(2) MAX 함수 : 최대값
(3) MIN 함수 : 최소값
(4) AVG 함수 : 평균
(5) COUNT 함수 : 개수
4. 그룹 내 행 순서 함수
(1) FIRST_VALUE 함수 : 파티션별 윈도우에서 가장 먼저 나온 값
(2) LAST_VALUE 함수 : 파티션별 윈도우에서 가장 나중에 나온 값
(3) LAG 함수 : 파티션별 윈도우에서 이전 몇 번째 행의 값을 가져올 수 있다.
(4) LEAD 함수 : 파티션별 윈도우에서 이후 몇 번째 행의 값을 가져올 수 있다.
5. 그룹 내 비율 함수
- RATIO_TO_REPORT 함수: 전체 SUM(칼럼)값에 대한 행별 칼럼 값의 백분율을 소수점으로 구함
- PERCENT_RANK 함수: 제일 먼저 나오는 것을 0으로, 제일 늦게 나오는 것을 1로 하여, 값이 아닌 행의 순서별 백분율을 구한다.
- CUME_DIST 함수: 전체건수에서 현재 행보다 작거나 같은 건수에 대한 누적백분율
- NTILE 함수: 전체 건수를 ARGUMENT 값으로 N 등분한 결과
'자격증 > SQLD' 카테고리의 다른 글
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제8절 절차형 SQL (0) | 2021.05.27 |
---|---|
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제7절 DCL (0) | 2021.05.27 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제5절 그룹 함수 (0) | 2021.05.27 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제3절 계층형 질의와 셀프 조인 (0) | 2021.05.27 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제2절 집합 연산자 (0) | 2021.05.27 |