같은 키값을 가진 2개의 행을 1개의 행에 나열하여 표시하고 싶습니다. 0 1 1,940

by 곤 [SQL Query] [2023.06.12 14:41:54]


ROW Col1 Col2 Col3
1 A 202306 1000
2 A 202206 880
3 B 202306 2000
4 B 202206 1900

해당 테이블에서 1년 기준을 비교하여 전년도 대비 증감율을 구하고 싶습니다.

ROW Col1 Col2 Col3 Col4 Col5 증감율
1 A 202306 1000 202206 880 XX%
2 B 202306 2000 202206 1900 XX%

감사합니다.

by 마농 [2023.06.12 16:03:27]
WITH t AS
(
SELECT 'A' cd, '202306' ym, 1000 amt FROM dual
UNION ALL SELECT 'A', '202206',  880 FROM dual
UNION ALL SELECT 'B', '202306', 2000 FROM dual
UNION ALL SELECT 'B', '202206', 1900 FROM dual
)
SELECT cd
     , SUM(DECODE(ym, '202306', amt)) "202306"
     , SUM(DECODE(ym, '202206', amt)) "202206"
     , ROUND( SUM(DECODE(ym, '202306', amt))
            / SUM(DECODE(ym, '202206', amt))
            * 100 - 100, 2) rat
  FROM t
 WHERE ym IN ('202306', '202206')
 GROUP BY cd
 ORDER BY cd
;

 

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