[SQLD] 윈도우 함수 (Window Function)
Database/SQL
2024. 5. 15. 21:22
윈도우 함수는 OVER 절에 PARTITION BY 구문을 이용하여 집계의 대상이 되는 레코드의 범위를 지정할 수 있음
윈도우 함수 처리로 결과 건수는 줄어들지 않는다. 결과가 나오고 처리하기 때문에 건수는 그대로다.
*순위 함수
1. RANK : 1, 2, 2, 4, 5, 6
- 순위를 뛰어넘음
2. DENSE_RANK : 1, 2, 2, 3, 4, 5
- 순위를 뛰어넘지 않음
3. ROW_NUMBER : 1, 2, 3, 4, 5, 6
- 동일한 값이더라도 다른 순위 부여
4. RATIO_TO_REPORT(컬럼) OVER(PARTITION BY 컬럼)
- 그룹 내에서 차지하는 비율
5. NTILE(숫자) OVER(ORDER BY 컬럼)
- 정렬 후 숫자만큼 그룹을 균등하게 나눈다.
*윈도우 프레임 지정
ROW : 행 기준
RANGE : 데이터 기준
RANGE BETWEEN <start> AND <end>
<n> PRECEDING : 현재 행의 값보다 'n' 이전의 값까지 포함
CURRENT ROW : 현재 행의 값을 포함
<n> FOLLOWING : 현재 행의 값보다 'n' 이후의 값까지 포함
UNBOUNDED PRECEDING : 처음부터 현재 행의 값까지 포함
UNBOUNDED FOLLWING : 현재 행의 값부터 끝까지 포함
'Database > SQL' 카테고리의 다른 글
[SQL] 조인 (JOIN) (0) | 2024.05.15 |
---|---|
[SQL] GROUP BY, HAVING, ORDER BY (0) | 2024.05.15 |
[SQLD] ALTER TABLE ~ (0) | 2024.05.15 |
[SQLD] NULL 함수 (0) | 2024.05.15 |
[SQLD] 계층형 쿼리 (0) | 2024.05.15 |
@서리★ :: Seory Dev
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!