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 41514 게시물 읽기
No. 41514
결과가 한줄로 나옵니다.
작성자
초보자
작성일
2018-01-19 17:57
조회수
5,718

안녕하세요...

 

다른 sql 을 참조해서 해 보려고 해도 잘 안 되네요....

 

고수님들 좀 봐 주세요...

 

select *

from (

SELECT BSNM_NO as aaaa

, SUBSTR(APRV_DATE,1,4) as yyyy

, COUNT(DISTINCT(DETAIL_PRDNM_NO)) DETAIL_CNT

FROM TBO_PR_DP_MSTR

WHERE ACCDT_EXAMIN_JDGMNT_RESULT_COD IN ('Y','M')

AND SUBSTR(APRV_DATE,1,8) BETWEEN '20101001' AND '20171231' --당해

GROUP BY BSNM_NO, SUBSTR(APRV_DATE,1,4)

)

PIVOT ( count(aaaa) cnt

, SUM(DETAIL_CNT) amt

FOR yyyy IN ( 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017

) )

 

sql의 실행 결과 입니다.

 

2010_cnt 2010_amt 2011_cnt 2011_amt 2012_cnt 2012_amt 2013_cnt 2013_amt 2014_cnt 2014_amt 2015_cnt 2015_amt 2016_cnt 2016_amt 2017_cnt 2017_amt

3326 13027 11863 61957 17288 116804 16676 95825 19643 127479 20004 119763 22875 117683 22548 107702

 

 

원하는 결과

구분 숫자 금액

2010 cnt1 amt1

2011 cnt2 amt2

2012 cnt3 amt3

2013 cnt4 amt4

2014 cnt5 amt5

2015 cnt6 amt6

2016 cnt7 amt7

2017 cnt8 amt8

 

 

 

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

피벗 구문을 쓸게 아닌데요. 그룹바이 구문을 쓰셔야죠.
날짜조건은 컬럼을 가공하여 조건에 맞추지 말고.
컬럼은 그대로 둔채 조건을 가공하여 컬럼에 맞추세요.


SELECT yyyy
     , COUNT(bsnm_no) cnt
     , SUM(detail_cnt) amt
  FROM (SELECT SUBSTR(aprv_date, 1, 4) yyyy
             , bsnm_no
             , COUNT(DISTINCT(detail_prdnm_no)) detail_cnt
          FROM tbo_pr_dp_mstr
         WHERE accdt_examin_jdgmnt_result_cod IN ('Y','M')
           AND aprv_date >= '20101001'
           AND aprv_date <= '20171231' || '235959'
         GROUP BY SUBSTR(aprv_date, 1, 4), bsnm_no
        ) a
 GROUP BY yyyy
 ORDER BY yyyy
;

마농(manon94)님이 2018-01-22 08:46에 작성한 댓글입니다.
이 댓글은 2018-01-22 08:46에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
41517저번에 마농님이 봐 주신 sql 입니다. [1]
봉달이
2018-01-26
5912
41516oracle client12c -> Linux redhat 7.4에 설치시 오류 [1]
oracle
2018-01-24
5656
41515표형태 쿼리 도움좀 주세요 [20]
김명찬
2018-01-23
6308
41514결과가 한줄로 나옵니다. [1]
초보자
2018-01-19
5718
41513가로의 결과를 세로로 [2]
봉달이
2018-01-18
6604
41512characterset 다른 2개 서버로 클라이언트에서 접속 문의
개발자
2018-01-16
5386
41511월별 주간별 row 구하기입니다. [2]
초보입니다.
2018-01-15
5646
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다