[Inflearn] SQL 강의 고급 - [2] 윈도우 함수

🌹Haeri Lee·2022년 8월 13일
0

[MySql] 인프런 강의

목록 보기
6/9
post-thumbnail
post-custom-banner

누적합 구하기

[문제]

여기서 id 별로 partition을 주어 누적합을 구해보자

[1] 누적합 | 윈도우 함수 사용

SELECT id, 
	   Name, 
       Kg, 
       Line, 
       SUM(kg) OVER (ORDER BY Line PARTITION BY id) AS Cumsum
FROM Elevator

[2] 누적합 | 윈도우 함수 이외의 방법 - JOIN + GROUP BY 활용

select el.id
	, el.name
    , el.kg
    , el.Line
    , SUM(e2.kg) AS CumSum 
from Elevator e1
Inner Join Elevator e2
	on el.id = e2.id
    and el.Line >= e2.Line -- 이곳에다 partition을 주는 것임
GROUP BY el.id,el.name,el.kg,el.Line

[3]누적합 | 윈도우 함수 이외의 방법 - SELECT절 서브쿼리

SELECT e1.id
      , el.name
      , el.kg
      , el.Line
      , (select sum(e2.kg)
      	 from elevator e2
         where el.id = e2.id
         and el.Line >= e2.Line) AS CumSum
 FROM Elevator e1

profile
안녕하세요 공부한 내용을 기록하기 위해서 시작했습니다.
post-custom-banner

0개의 댓글