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 39121 게시물 읽기
No. 39121
rollup에 총계대신 소계값중 max값을 출력하고 싶습니다.
작성자
문성환
작성일
2011-11-24 11:20ⓒ
2011-11-24 11:47ⓜ
조회수
5,103

데이타
칼럼명  nm   val
            A1    1
            A2    2
            A3    3

            B1    2
            B3    3

            C1    1
            C2    3

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

아래결과처럼 마지막에 총계가 나오지 않고 소계값중 가장큰값(max)값이 나오게 하고 싶은데 맘처럼 쉽지가 않네요..

(결과)

A     A1   1
A     A2   2
A     A3   3
A소계      6
 

B     B1   2
B     B2   3
B소계      5

C    CB1   1
C     C2   3
C소계      4

max소계    6

 

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

WITH t AS
(
SELECT 'A1' nm, 1 val FROM dual
UNION ALL SELECT 'A2', 2 FROM dual
UNION ALL SELECT 'A3', 3 FROM dual
UNION ALL SELECT 'B1', 2 FROM dual
UNION ALL SELECT 'B3', 3 FROM dual
UNION ALL SELECT 'C1', 1 FROM dual
UNION ALL SELECT 'C2', 3 FROM dual
)
SELECT NVL(gb, '전체') gb
     , DECODE(GROUPING(gb), 1, 'MAX') || NVL(nm, '소계') nm
     , DECODE(GROUPING(gb), 0, SUM(val)
     , MAX(DECODE(GROUPING_ID(gb, nm), 1, SUM(val))) OVER()
     ) val
  FROM (SELECT SUBSTR(nm, 1, 1) gb, nm, val FROM t)
 GROUP BY ROLLUP(gb, nm)
;

마농(manon94)님이 2011-11-24 15:37에 작성한 댓글입니다.

마농님 감사합니다..

며칠째 고민하다가 올렸는데 이렇게 해결되다니 감사할따름입니다..^^

문성환님이 2011-11-24 18:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
39125update 문 튜닝좀 부탁드립니다. [2]
박주영
2011-11-25
4703
39124날자 관련 하여 질문 드립니다. 정말 모르겠네요 [2]
호동이네남일이
2011-11-24
3712
39122메뉴 구조에서 시작과 종료를 확인 [2]
김주환
2011-11-24
4676
39121rollup에 총계대신 소계값중 max값을 출력하고 싶습니다. [2]
문성환
2011-11-24
5103
39120세로를 가로로 변환하는 방법 [4]
제로
2011-11-23
7356
39118통계쿼리좀 부탁드려여 [3]
장선각
2011-11-22
5038
39117같은테이블 조인.. 튜닝 부탁드립니다 [2]
궁금이
2011-11-22
4874
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다