database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 39608 게시물 읽기
No. 39608
통계성 쿼리 질문 드립니다.
작성자
쿼리 초보
작성일
2012-08-28 14:37
조회수
4,588

안녕하세요 맨날 눈으로 지켜보다 이렇게 질문을 올립니다.ㅠㅠ

통계성 쿼리를 만들려고 하는데 아무리 생각하고 만들어 봐도 뜻대로 되지가 않아서 질문 드립니다.ㅠㅠ

구분                             총계      사원      대리      주임      과장      차장      부장      임원

총계

--------------------------------------------------------------------------------------------------------------------

상      소계

위      개발자

부      디자이너

서      영업

1        총무

--------------------------------------------------------------------------------------------------------------------

상      소계

위      개발자

부      디자이너

서      영업

2        총무

 

위에 같은 식으로 크게 상위부서 1, 2로 나누어지고 각 담당 업무에 대한 계급별 갯수를 나타나게 하려고 하는데요

담당 업무 코드를 각 각 하나씩 써서 union all 로 직급을 나타 냈는데 코드가 너무 길어지더라구요..ㅠㅠ

아무리 이것 저것 해봐도 방법을 잘 모르겠어서 이렇게 올려 봅니다.ㅠㅠ 허접한 질문이지만 제발 도와 주세요 ㅠ

이 글에 대한 댓글이 총 4건 있습니다.

SELECT NVL(상위부서, '총계') 상위부서
     , NVL(담당업무, '소계') 담당업무
     , COUNT(*) 총계
     , COUNT(DECODE(직급, '사원', 1)) 사원
     , COUNT(DECODE(직급, '대리', 1)) 대리
     , COUNT(DECODE(직급, '주임', 1)) 주임
     , COUNT(DECODE(직급, '과장', 1)) 과장
     , COUNT(DECODE(직급, '차장', 1)) 차장
     , COUNT(DECODE(직급, '부장', 1)) 부장
     , COUNT(DECODE(직급, '임원', 1)) 임원
  FROM 사원정보 a
 GROUP BY ROLLUP(상위부서, 담당업무)
 ORDER BY a.상위부서 NULLS FIRST
        , a.담당업무 NULLS FIRST
;

마농(manon94)님이 2012-08-28 15:55에 작성한 댓글입니다.
이 댓글은 2012-08-28 15:57에 마지막으로 수정되었습니다.

아 마농님 좋은 답변 감사합니다

이런 방법이 있었네요 ㅠㅠ

정말 감사합니다.

쿼리 초보님이 2012-08-28 16:06에 작성한 댓글입니다. Edit

위에 질문 남기신 분과 비슷한 쿼리 땜에 골치 아파 하고 있습니다.

만약 부서 테이블 a, 직급 테이블 b, 담당업무 테이블 c 이렇게 따로 따로 있다고 하면

먼저 부서 테이블 에서 상위부서1과 사위부서2를 union all 써서 서브쿼리로 만들어 낸다음

각 담당업무 마다 각 직급을 하나하나 sum 해서 union all 로 하는 방법 밖에 없는건가요..?

궁금님이 2012-08-29 08:35에 작성한 댓글입니다. Edit

데이터를 합치는것(Union all)과 연결하는것(Join) 과는 서로 다른데요.

이 경우엔 조인을 하는게 맞을 듯 하네요.

마농(manon94)님이 2012-08-29 08:49에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39612통계성 쿼리 2번째 질문 [3]
쿼리 초보
2012-08-30
4250
39610프로시저 속도 문제.. [3]
햇살한조각
2012-08-30
4550
39609sum() over () 질문드립니다. [1]
정성태
2012-08-29
4090
39608통계성 쿼리 질문 드립니다. [4]
쿼리 초보
2012-08-28
4588
39607정렬쿼리 질문 좀요 [2]
축구
2012-08-27
3597
39606partition by 로 정렬시 기본 정렬순서의 변경문의. [3]
앙마승재
2012-08-27
4056
39605ORA 01000 최대 열기 커서 수를 초과했습니다. ERROR [1]
햇살한조각
2012-08-27
4577
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다