현재 행 중심으로 읽기
이영희 행을 계산할 때 잠깐 참고하는 범위가 바로 윈도우입니다
윈도우 함수는 테이블 전체를 한 번 요약하는 대신,
각 행마다 관련된 행 묶음
을 잡아 계산합니다. 계산은 그 묶음을 보고 하지만, 결과는
현재 행 옆 열
에 붙습니다.
이 예시에서 윈도우
개발 부서 3행
을 같이 보고 평균을 계산
계산 뒤에도 남는 것
employees의
원래 행 수
와 개별 직원 정보
1. 현재 행이 어떤 범위를 보나
같은 부서만 윈도우에 포함
김철수
개발
5000
윈도우
이영희
개발
4000
현재 행
박민수
기획
3500
제외
최지훈
개발
4500
윈도우
정수빈
기획
3800
제외
핵심 관계:
계산 기준은
이영희
라는 한 행이지만, 평균을 구할 때는 같은
개발
부서 행들을 함께 봅니다. 이것이
윈도우
입니다.
2. 계산은 윈도우로, 결과는 같은 행에
행은 줄지 않음
1
현재 행을 기준으로 잡는다
결과를 써 넣을 위치는 이영희 행입니다.
2
윈도우 안에서 계산한다
개발 부서 급여 5000, 4000, 4500을 보고 평균 4500을 구합니다.
3
현재 행에 계산 열을 추가한다
원래 행은 유지되고, 계산 결과만 새 열로 붙습니다.
예시 식
AVG(salary) OVER (PARTITION BY department)
name
dept
salary
dept_avg
이영희
개발
4000
4500
정리:
윈도우
는 각 행이 계산할 때 참고하는 관련 행의 범위이고,
윈도우 함수
는 그 범위를 이용해 평균, 순위, 누적합을 구한 뒤
원래 행을 그대로 둔 채
결과를 덧붙입니다.