본문 바로가기

IT/SQL

WINDOWING절

BETWEEN 사용 시:

 - ROW | RANGE BETWEEN UNBOUNDED PRECEDING | CURRENT ROW | PRECEDING/FOLLOWING 

ROWS UNBOUNDED PRECEDING | CURRENT ROW | VALUE_EXPR

ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING: 현재 행을 포함해서 파티션 내의 마지막 행까지의 범위를 구하라

RANGE  BETWEEN 50 PRECEDING AND 150 FOLLOWING

RANGE UNBOUNDED PRECEDING: 현재 행을 기준으로 파티션 내의 첫번째 행까지의 범위를 지정한다.


EX) SELECT MGR, ENAME, HIREDATE, SAL

      ROUND(AVG(SAL) OVER (PARTITION BY MGR ORDER BY HIREDATE ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING))

     FROM EMP;

 // 여기서 ROW BETWEEN 1 PRECIDING AND 1 FOLLOWING 의 뜻은 현재 행을 기준으로 파티션 내에서 앞에 한 건, 현재행, 뒤에 한 건을 범위로 지정한다.