11.2.1 윈도우 함수란
특정 칼럼 값을 기준으로 로우를 그룹으로 지정할 수 있는데, SQL에서는 이런 로우의 그룹을 가리켜 윈도우(window)라고 합니다. 그리고 윈도우를 대상으로 연산하는 함수를 윈도우 함수라고 합니다. 그룹을 지어 조회할 때는 GROUP BY 절과 집계 함수를 사용한 집계 쿼리를 사용한다고 했습니다. 그런데 집계 쿼리는 반환 결과 집합이 그룹화하는 칼럼 값에 따라 로우 수가 줄어듭니다. 하지만 윈도우와 윈도우 함수를 사용하면 로우 수는 그대로 유지하면서 집계 값이나 윈도우 함수 결괏값을 볼 수 있습니다. 예제 쿼리를 봅시다.
코드 11-10
SELECT YEAR(release_date) years, SUM(sale_amt) sum_amt,
AVG(sale_amt) avg_amt
FROM box_office
WHERE YEAR(release_date) >= 2018
AND ranks <= 10
GROUP BY 1
ORDER BY 1;
실행결과