Database/Oracle

오라클 윈도우 절 (Oracle Windowing Clause)

xProgrammer 2018. 3. 27. 13:27

스키마

http://xprogrammer.tistory.com/333


쿼리

SELECT deptno, ename, hiredate, sal,
SUM(sal) OVER (
  PARTITION BY deptno -- 분석함수로 계산될 대상의 그룹을 지정
  ORDER BY hiredate -- 파티션 안에서의 순서를 지정
  ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING -- 시작행과 끝행
) AS first_end_salary,
SUM(sal) OVER (
  PARTITION BY deptno -- 분석함수로 계산될 대상의 그룹을 지정
  ORDER BY hiredate -- 파티션 안에서의 순서를 지정
  ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW -- 시작행과 현재행
) AS first_current_sal,
SUM(sal) OVER (
  PARTITION BY deptno -- 분석함수로 계산될 대상의 그룹을 지정
  ORDER BY hiredate -- 파티션 안에서의 순서를 지정
  ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING -- 현재행과 끝행
) AS current_end_sal
FROM emp;


결과


참고

https://docs.oracle.com/cloud/latest/db112/SQLRF/functions004.htm#i97640