합계를 구해야하는데 쿼리를 어떻게 분리해야할지 모르겠는 부분이 있어서 질문드립니다! 0 2 420

by 타핑이 [Oracle 기초] [2019.03.11 15:40:15]


날짜 금액
201801 1000
201801 2000
201802 1500
201803 2200
201802 2010
201801 10000
201804 10000
201805 200000
201806 100
201807 200
201808 200
201808 300
201809 400
201807 500
201810 800
201811 9000
201812 8000
201805 40000
201809 60000
201809 74000
201804 20000
201808 10000
201807 333000
201811 4500
201812 22000
201812 6000
201810 70000
201803 9000
201806 10000

 

위처럼 데이터가 들어있는 테이블이 있거든여

근데 데이터를 뽑을 때 아래처럼 나왔으면 하거든여 옆으로 컬럼 추가로 계속 나와도 상관없구

아래로 row별로 12줄이 나와도 상관은 없는데 금액의 합계가 전부 1월부터 쭉합한게 나와야하는데

아직 여기까진 머리가 안돌아가네요

힌트라도 좀 얻어 볼 수 있을까요.... ㅠ_ㅠ

201801 201802 201803 201804 201805 201806 201807 201808 201809 201810 201811 201812
201801합계 201801~201802합계 201801~201803합계 201801~201804합계 201801~201805합계 201801~201806합계 201801~201807합계 201801~201808합계 201801~201809합계 201801~201810합계 201801~201811합계 201801~201812합계

 

ps 혹시 더 있어야할 데이터나 질문 요소가 있으면 알려주세요!!

by 타핑이 [2019.03.11 16:00:40]

하하 스스로 해결했습니다. SUM OVER PRECEDING으로 해결했습니당.

관심가져주신분들 감사합니다


by 마농 [2019.03.12 09:22:30]
SELECT 연월
     , SUM(금액) 금액
     , SUM(SUM(금액)) OVER(ORDER BY 연월) 누적금액
  FROM t
 WHERE 연도 = '2018'
 GROUP BY 연월
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입