반응형
파티션 없이 러닝 합계 계산하는 쿼리문 SQL Query to compute running total without partitions.
SELECT Name, Gender, Salary,
SUM(Salary) OVER (ORDER BY ID) AS RunningTotal
FROM Employees
파티션을 나눈 쿼리
SELECT Name, Gender, Salary,
SUM(Salary) OVER (PARTITION BY Gender ORDER BY ID) AS RunningTotal
FROM Employees
RunningTotal이 파티션이 있는 부분에서 다시 시작하는 것을 볼 수 있음.
여기서 ORDER BY ID를 하는 것은 Unique key이기 때문이다. 유니크 하지 않은 것으로 ORDER BY를 하게되어 러닝 토탈을 한다면 같은 값을 가지고 있는 ORDER BY 기준 열의 값은 같은 것으로 취급되어 Running Total이 이상해 질 수 있다.
ORDER BY Salary로 뽑은 Result를 예시로 확인해보자
반응형
'Database > SQL Server' 카테고리의 다른 글
SQL Server - Lead & Lag 함수 (0) | 2020.12.18 |
---|---|
SQL Server - NTILE 함수 (0) | 2020.12.18 |
SQL Server - RANK & DENSE_RANK 함수 (0) | 2020.12.16 |
SQL Server - Over 절 과 ROW_NUMBER() 함수 (0) | 2020.12.16 |
SQL Server - 디버깅 Debugging (0) | 2020.12.16 |