더북(TheBook)

window 절

지금까지 대표적인 분석 함수에 대해 알아 보았다. 이제부터는 window 절을 적용한 분석 함수에 대해 살펴 보자. window 절은 파티션으로 분할된 그룹에 대해 별도로 다시 그룹, 즉 부분 집합을 만드는 역할을 하며 구문 형식은 다음과 같다.

    { ROWS | RANGE }
       { BETWEEN { UNBOUNDED PRECEDING
                   | CURRENT ROW
                   | value_expr{ PRECEDING| FOLLOWING}
                                   }
             AND { UNBOUNDED FOLLOWING
                   | CURRENT ROW
                   | value_expr{PRECEDING | FOLLOWING}
                  }
    |{ UNBOUNDED PRECEDING
       | CURRENT ROW
       | value_expr PRECEDING}
    }

ROWS: 로우 단위로 window 절을 지정한다.

RANGE: 로우가 아닌 논리적인 범위로 window 절을 지정한다.

BETWEEN~AND: window 절의 시작과 끝 지점을 명시한다. BETWEEN을 명시하지 않고 두 번째 옵션만 지정하면이 지점이 시작 지점이 되고 끝 지점은 현재 로우가 된다.

UNBOUNDED PRECEDING: 파티션으로 구분된 첫 번째 로우가 시작 지점이 된다.

UNBOUNDED FOLLOWING: 파티션으로 구분된 마지막 로우가 끝 지점이 된다.

CURRENT ROW: 시작 및 끝 지점이 현재 로우가된다.

value_expr PRECEDING: 끝 지점일 경우, 시작 지점은 value_expr PRECEDING.

value_expr FOLLOWING: 시작 지점일 경우, 끝 지점은 value_expr FOLLOWING.

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