MSSQL 더하기 질문 드립니다 0 2 436

by 우경록 [SQL Query] [2022.01.24 17:11:46]


안녕하세요.

MSSQL 에서 컬럼 더해서 조회하는 것을 하려고 합니다.

 

     일자           과자      수량     합계

1  2022-01-24   새우깡    10         10

2  2022-01-24   새우깡    20         30

3  2022-01-24   새우깡    30         60

 

1번 행 합계 10 2번 행 수량 20 (1번 행 합계) + (2번 행 수량)

2번 행 합계 30  3번행 수량 30 (2번 행 합계) + (3번 행 수량) 더하면서 표현하고 싶습니다..

방법이 있다면 조언 부탁드립니다.

 

by 마농 [2022.01.24 17:27:26]
WITH t AS
(
SELECT 1 id, '2022-01-24' dt, '새우깡' nm, 10 cnt
UNION ALL SELECT 2, '2022-01-24', '새우깡', 20
UNION ALL SELECT 3, '2022-01-24', '새우깡', 30
UNION ALL SELECT 4, '2022-01-24', '새우꽁', 20
UNION ALL SELECT 5, '2022-01-24', '새우꽁', 30
UNION ALL SELECT 6, '2022-01-25', '새우꽁', 20
UNION ALL SELECT 7, '2022-01-25', '새우꽁', 30
)
SELECT id
     , dt
     , nm
     , cnt
     , SUM(cnt) OVER(ORDER BY id) tot                       -- 누계
     , SUM(cnt) OVER(PARTITION BY nm ORDER BY id) tot1      -- 품목별 누계
     , SUM(cnt) OVER(PARTITION BY dt, nm ORDER BY id) tot2  -- 일별/품목별 누계
  FROM t
;

 


by 우경록 [2022.01.24 17:36:20]

감사합니다 마농님!!! 

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