더북(TheBook)

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;

실행결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.