WITHIN GROUP
WITHIN GROUP은 ORACLE에서 주로 사용되는 구문으로, LISTAGG 함수를 사용할 때 함께 사용하는 것을 많이 볼 수 있습니다. WITHIN GROUP 절은 평소에 많이 사용하지 않기 때문에 조금 생소하게 느껴질 수 있습니다.
WITHIN GROUP 절은 LISTAGG, RANK, DENSE_RANK 함수 등과 함께 사용할 수 있습니다.
WITHIN GROUP 절과 같이 사용할 수 있는 함수
- LISTAGG: 그룹 내의 여러 행을 하나의 문자열로 연결합니다.
- RANK: 그룹 내에서 순위를 매깁니다.
- DENSE_RANK: RANK와 유사하지만 동일한 값에 대해 동일한 순위를 부여합니다.
- PERCENTILE_CONT: 연속 분포 모델을 가정하고 백분위수 값을 계산합니다.
- PERCENTILE_DISC: 이산 분포 모델을 가정하고 백분위수 값을 계산합니다.
- MEDIAN: 중앙 값을 계산합니다.
WITHIN GROUP 절은 집계 데이터의 정렬을 지정합니다.
WITHIN GROUP (ORDER BY 컬럼 1, 컬럼 2, ...[ASC|DESC])
LISTAGG 함수 예제
LISTAGG 함수를 사용하여 칼럼의 문자열을 합칠 때 WITHIN GROUP 절을 사용하면 정렬이 가능합니다.
RANK 함수 예제
RANK 함수에 입력된 값의 순위를 WITHIN GROUP 절의 정렬 기준으로 순위를 알 수 있습니다.
'Database' 카테고리의 다른 글
[DB]옵티마이저(Optimizer)란? (0) | 2024.09.30 |
---|---|
[DB]Query 최적화 및 튜닝 기술 (1) | 2024.09.28 |
[DB]트랜잭션, 동시성 제어, 회복 (0) | 2024.09.20 |
[DB]정규화(Normalization) (0) | 2024.09.19 |
[DB]집합 관련 연산자(UNION, INTERSECT, MINUS) (0) | 2024.09.19 |