[MSSQL] 순차적 누적 합계 구하기 (SUM OVER)

SQL Server에서 순차적 누적 합계를 구하기 위해서는 SUM 함수와 OVER 절을 사용하면 된다. 누적 합산 기준은 OVER 절 내부의 ORDER BY 절 정렬 기준으로 데이터를 정렬하고 순차적으로 합산을 한다. OVER 절의 내부의 ORDER BY 절 기준으로 데이터가 정렬되어서 조회되므로 WHERE 절 하단에 ORDER BY 절을 추가로 기술할 필요가 없다.

 

MSSQL 누적 합계 구하기

목차
  1. 순차적 누적 합계 구하기
  2. 그룹별 순차적 누적 합계 구하기

 

순차적 누적 합계 구하기

SELECT empno
     , ename
     , job
     , sal
     , SUM(sal) OVER(ORDER BY empno) AS sum_sal
  FROM emp
 WHERE job IN ('MANAGER', 'SALESMAN')

 

 

OVER 절과 SUM 함수를 사용하여 누적 합계를 구할 수 있다.

 

OVER 절 내부의 ORDER BY 절의 기준으로 정렬되어서 누적 합산이 되며, WHERE 절 하단에 ORDER BY 절이 있다면 OVER 절의 ORDER BY 절과 동일한 기준으로 정렬해야 데이터가 순차적으로 조회된다.

 

그룹별 순차적 누적 합계 구하기

SELECT empno
     , ename
     , job
     , sal
     , SUM(sal) OVER(PARTITION BY job ORDER BY empno) AS sum_sal
  FROM emp
 WHERE job IN ('MANAGER', 'SALESMAN')

 

 

OVER 절 내부에 PARTITION BY 절을 사용하면 그룹별로 누적 합계를 구할 수 있다.

PARTITION BY 절은 GROUP BY 절과 비슷한 개념이라고 생각하면 된다.

예제쿼리(테이블포함).txt
0.00MB

 

 

[MSSQL] 합계 구하는 3가지 방법 (SUM 함수)

SQL Server에서 합계를 구하기 위해서는 SUM 함수를 사용하면 됩니다. SUM 함수를 사용하여 합계를 구하면 조회된 각 행에 합계를 표시할 수 있으며, 별도의 새로운 행으로 합계를 표시하고 싶을 때

gent.tistory.com

 

[MSSQL] GROUP BY 절 사용법 (그룹별 집계)

SQL Server에서 GROUP BY 절은 특정 칼럼을 기준으로 집계 함수를 사용하여 건수(COUNT), 합계(SUM), 평균(AVG) 등 집 계성 데이터를 추출할 때 사용한다. GROUP BY 절에서 기준 칼럼을 여러 개 지정할 수 있으

gent.tistory.com

 

댓글

Designed by JB FACTORY