SQL 윈도 함수는 현재 행과 관련된 여러 행을 대상으로 계산하면서도 행별 결과를 유지하는 기능이다.
원리
OVER 절의 PARTITION BY, ORDER BY와 프레임으로 계산 범위를 정한다. 일반 GROUP BY 집계처럼 여러 행을 한 행으로 줄이지 않는다.
SQL |
|---|
SQL SELECT · SQL JOIN · SQL GROUP BY · SQL HAVING · SQL 공통 테이블 식 |
예시
부서별 급여 순위를 계산해 각 직원 행에 함께 표시하거나 날짜순 누적 합계를 구할 수 있다.
데이터베이스 내부 |
|---|
WAL · 체크포인트 · MVCC · 트랜잭션 격리 수준 · 읽기 커밋 |
데이터베이스 교착 상태 · 비관적 잠금 · 파티셔닝 · 시점 복구 · 데이터베이스 백업 |
주의할 점
윈도 안의 ORDER BY는 최종 출력 순서를 보장하지 않는다. 동률 처리와 기본 프레임이 기대와 다를 수 있으므로 ROWS와 RANGE의 의미를 확인한다.