고수님들 통계쿼리 좀 부탁드리겠습니다. 0 1 857

by K-ART [SQL Query] [2017.05.21 11:02:01]


부서       담당자        금액
물류       김태희       10000
물류       김태희       20000
물류       김태희       30000 
물류       전지현       10000
물류       전지현       10000
물류       모모         50000
인사       홍길동        1000
인사       홍길동        1000
인사       나나         10000
인사       한예슬       30000
인사       한예슬       40000
인사       김지원       80000
총무       신고은       10000 
총무       신고은       20000 
총무       남지현       30000 

 

결과-------------------------------------------------

부서 및 담장자  소계  통계쿼리 입니다. 

 

 

부서       담당자        금액

물류       김태희       50000
물류       전지현       20000
물류       모모          50000
소계                     120000
인사       홍길동        2000
인사       나나         10000
인사       한예슬       70000 
인사       김지원       80000
소계                     162000
총무       신고은       20000
총무       남지현       30000 
소계                      50000
합계                     332000

by 마농 [2017.05.22 08:52:36]
WITH t AS
(
SELECT '물류' dept, '김태희' nm, 10000 amt FROM dual
UNION ALL SELECT '물류', '김태희', 20000 FROM dual
UNION ALL SELECT '물류', '김태희', 30000 FROM dual
UNION ALL SELECT '물류', '전지현', 10000 FROM dual
UNION ALL SELECT '물류', '전지현', 10000 FROM dual
UNION ALL SELECT '물류', '모모'  , 50000 FROM dual
UNION ALL SELECT '인사', '홍길동',  1000 FROM dual
UNION ALL SELECT '인사', '홍길동',  1000 FROM dual
UNION ALL SELECT '인사', '나나'  , 10000 FROM dual
UNION ALL SELECT '인사', '한예슬', 30000 FROM dual
UNION ALL SELECT '인사', '한예슬', 40000 FROM dual
UNION ALL SELECT '인사', '김지원', 80000 FROM dual
UNION ALL SELECT '총무', '신고은', 10000 FROM dual
UNION ALL SELECT '총무', '신고은', 20000 FROM dual
UNION ALL SELECT '총무', '남지현', 30000 FROM dual
)
SELECT NVL(dept, '합계') dept
     , DECODE(GROUPING_ID(dept, nm), 0, nm, 1, '소계') nm
     , SUM(amt) amt
  FROM t
 GROUP BY ROLLUP(dept, nm)
;

 

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