SQL
[SQL] window 함수 (analytic SQL)
ISLA!
2023. 3. 23. 19:07
의미
원본 데이터 레벨을 그대로 유지하면서, 그룹핑 레벨에서 자유롭게 window의 이동과 크기를 조절하며 분석을 수행
사용법
<Analytic function> (인자1, 인자2...)
OVER
[Partition 절] : 그룹화 컬럼명
[Sorting 절] : 정렬 컬럼명(window 이동방향 기준)
[Window 절] : window 범위(row, range)
사용 예시
select *
,rank() over(order by hiredate asc) as hire_rank
from emp el;
- 예시 처럼, partition절 지정을 따로 안해도 됨. / 지정하고 싶으면 "partition by (컬럼명)" 쓰기
- sorting절 사용은 "order by (컬럼명)" 쓰기
- sorting절에서 nulls first(디폴트, null값이 우선순위/1순위가 됨), nulls last(지정해줘야 함) => 랭크 함수 쓸 때 유의
유의
절의 순서가 바뀌어서는 안됨 : partition > sorting > window
728x90