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 40526 게시물 읽기
No. 40526
월별 통계 쿼리 도움좀 부탁드립니다.
작성자
염진호(bboyjino)
작성일
2014-07-16 10:35
조회수
8,414

안녕하세요.

우리 팀장님이 너무 무서워서 물어보질 못하고 , 혼자 낑낑 대다가 여쭈어 봅니다.

(물론 저는 초보 .....- _-;;)

 

table A

no billno bill_gubun amount date privatetype
1 1234 a 20,000 2014-04-01 Y
2 1235 a 20,000 2014-04-01 Y
3 1236 b 20,000 2014-04-01 Y
4 1237 a 20,000 2014-05-05 Y
5 1238 a 20,000 2014-05-14 Y
6 1239 b 20,000 2014-05-16 Y
7 1240 a 20,000 2014-06-01 Y
8 1241 a 20,000 2014-06-06 Y
9 1242 b 20,000 2014-06-05 Y
10 1243 b 20,000 2014-06-06 Y
11 1244 a 20,000 2014-07-01 Y
12 1245 a 20,000 2014-07-01 Y
13 1246 b 20,000 2014-07-06 Y
14 1247 b 20,000 2014-07-06 Y

이런식의 테이블 정보가 있습니다.

월별 등록을 하되 구분은 두가지로 나뉘어 지며, 지급여부가 구분되어 집니다.

(구하고자 하는 데이터)

1. 전체 합계 금액(amount)

2. 전체중 privatetype = N 으로 되어 있는 것들에 대한 합계

3. 해당월의 합계금액 | 해당월중 privatetype = N 으로 되어 있는 항목들의 합계

 

년월 bill_gubun 월별합계 월별미지급 전체금액 전체미지급
1404 a 40,000 0    
1404 b 20,000 0    
1405 a 40,000 0    
1405 b 20,000 0    
1406 a 40,000 0    
1406 b 40,000 0    
1407 a 40,000 40,000    
1407 b 40,000 40,000    

요로케 나타내고 싶은데 .. 잘 되질 않네요..

distinct 로 해서 짜보았는데 잘 나오질 않아 , 부탁좀 드리고자 이렇게 문의 드려 봅니다.

도움좀 주십시요 ㅠ

 

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

WITH t AS
(
SELECT 1 no, 1234 billno, 'a' bill_gubun, 20000 amount, '2014-04-01' dat, 'Y' privatetype FROM dual
UNION ALL SELECT  2, 1235, 'a', 20000, '2014-04-01', 'Y' FROM dual
UNION ALL SELECT  3, 1236, 'b', 20000, '2014-04-01', 'Y' FROM dual
UNION ALL SELECT  4, 1237, 'a', 20000, '2014-05-05', 'Y' FROM dual
UNION ALL SELECT  5, 1238, 'a', 20000, '2014-05-14', 'Y' FROM dual
UNION ALL SELECT  6, 1239, 'b', 20000, '2014-05-16', 'Y' FROM dual
UNION ALL SELECT  7, 1240, 'a', 20000, '2014-06-01', 'Y' FROM dual
UNION ALL SELECT  8, 1241, 'a', 20000, '2014-06-06', 'Y' FROM dual
UNION ALL SELECT  9, 1242, 'b', 20000, '2014-06-05', 'Y' FROM dual
UNION ALL SELECT 10, 1243, 'b', 20000, '2014-06-06', 'Y' FROM dual
UNION ALL SELECT 11, 1244, 'a', 20000, '2014-07-01', 'N' FROM dual
UNION ALL SELECT 12, 1245, 'a', 20000, '2014-07-01', 'N' FROM dual
UNION ALL SELECT 13, 1246, 'b', 20000, '2014-07-06', 'N' FROM dual
UNION ALL SELECT 14, 1247, 'b', 20000, '2014-07-06', 'N' FROM dual
)
SELECT SUBSTR(dat, 1, 7) ym
     , bill_gubun
     , NVL(SUM(amount), 0) amt_t
   --, NVL(SUM(DECODE(privatetype, 'Y', amount)), 0) amt_y
     , NVL(SUM(DECODE(privatetype, 'N', amount)), 0) amt_n
     , NVL(SUM(SUM(amount)) OVER(), 0) sum_t
   --, NVL(SUM(SUM(DECODE(privatetype, 'Y', amount))) OVER(), 0) sum_y
     , NVL(SUM(SUM(DECODE(privatetype, 'N', amount))) OVER(), 0) sum_n
  FROM t
 GROUP BY SUBSTR(dat, 1, 7), bill_gubun
 ORDER BY ym, bill_gubun
;

마농(manon94)님이 2014-07-16 13:55에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40529오라클 치환관련 문의드립니다. [1]
초보자
2014-07-17
7082
40528쿼리 질문입니다. [1]
쿼리 qa
2014-07-17
7216
40527계층 쿼리에서 부모와 자식의 데이터가 일치하는 자료는 .. [4]
성석준
2014-07-16
9305
40526월별 통계 쿼리 도움좀 부탁드립니다. [1]
염진호
2014-07-16
8414
40525초보의 쿼리 질문이예요 ^^ [1]
부강
2014-07-14
6912
40524두개 이상의 칼럼에서 표준편차 구하는 방법이 궁금합니다. [2]
이용헌
2014-07-11
7444
40523간단한 쿼리 질문 [1]
버기
2014-07-11
7388
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다