그룹별로 합계 구하기 0 3 398

by 퇴근하고싶다 [Oracle 기초] [2019.08.25 12:38:11]


안녕하세요.

그룹별로 합계를 구하고싶은데요..

table : pay

년도 부서 이름 월급 월급2 월급3
2019 총무 홍길동 100 50 30
2019 인사 이순신 110 40 30
2019 총무 유관순 110 50 20
2019 인사 안중근 130 50 20

이 테이블에서

년도 부서 월급(월급1+월급2+월급3)
2019 총무 360
2019 인사 380

부서별로 합계를 구하고 싶습니다.. 

by 춘 [2019.08.25 22:33:02]

WITH test AS
(
    SELECT '2019' 년도, '총무' 부서, '홍길동' 이름, '100' 월급, '50' 월급2, '30' 월급3 FROM dual
    UNION ALL
    SELECT '2019', '인사', '이순신', '110', '40', '30' FROM dual
    UNION ALL
    SELECT '2019', '총무', '유관순', '110', '50', '20' FROM dual
    UNION ALL
    SELECT '2019', '인사', '안중근', '130', '50', '20' FROM dual
)
SELECT
    년도
    , 부서
    , SUM(월급 + 월급2 + 월급3) AS 월급
FROM test
GROUP BY 년도, 부서
;


by 생각 [2019.08.26 08:45:37]
WITH T1(YEAR,DEPT,NM,SA1,SA2,SA3) AS
(
    SELECT '2019', '총무', '홍길동', '100', '50', '30' FROM dual
    UNION ALL
    SELECT '2019', '인사', '이순신', '110', '40', '30' FROM dual
    UNION ALL
    SELECT '2019', '총무', '유관순', '110', '50', '20' FROM dual
    UNION ALL
    SELECT '2019', '인사', '안중근', '130', '50', '20' FROM dual
)
    SELECT YEAR, DEPT, Sum(SA1+SA2+SA3) TOTSAL
      FROM T1
    GROUP BY YEAR,ROLLUP(DEPT)
    HAVING GROUPING_ID(DEPT)!=1;

 


by DarkBee [2019.08.26 13:10:17]
SELECT 년도
             , 부서
             , NVL(SUM(월급  ), 0 )
             + NVL(SUM(월급2), 0 )
             + NVL(SUM(월급3), 0 ) AS 월급
FROM t
GROUP BY 년도, 부서

 

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