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 39246 게시물 읽기
No. 39246
마농님께.....이거 한번만 더 봐주시면 안될까요? ㅜㅜ..제가 좀 초보라....ㅜㅜ
작성자
일쌍다반사(jshlove7)
작성일
2012-01-19 16:12
조회수
5,748

SELECT 'ASIA' REGION,'INDONESIA' COUNTRY,'REFRIGERATOR' PRODUCT,'LG' BRAND_TOP1,'SAMSUNG' BRAND_TOP2,'SANYO' BRAND_TOP3 FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','LG','SAMSUNG','HITACHI' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','SAMSUNG','MODENA','MIDEA' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','SHARP','SANYO','SANKEN' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','LG','SAMSUNG','MIDEA' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','MITSHUBUSHI','MIDEA','SANKEN' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','LG','TOSHIBA','SANKEN' FROM DUAL
UNION ALL SELECT 'ASIA','INDONESIA','REFRIGERATOR','LG','SAMSUNG','MIDEA' FROM DUAL
UNION ALL SELECT 'EUROPE','GERMANY','REFRIGERATOR','LG','SAMSUNG','AMICA' FROM DUAL
UNION ALL SELECT 'EUROPE','GERMANY','REFRIGERATOR','LG','SAMSUNG','SAMSUNG' FROM DUAL
UNION ALL SELECT 'EUROPE','GERMANY','REFRIGERATOR','LG','BLOMBERG','SAMSUNG' FROM DUAL

이전에 해주신 SQL 정말 감사했습니다.

그때 거기선 ASIA 하나만 있었는데..위와 같이 ASIA , EUROPE 즉, REGION 에는 하나 이상이 생길수 가 있거든여..ㅠㅠ 모든 REGION에 대해서 나오게 하고 싶습니다.

아래 SQL 은 이전에 마농님께서 해주셨던 SQL 입니다.

제가 부탁했던거 하나의 AISA 만 부탁해서 그랬는데,,,그 이상 데이타가 있는 경우 각 REGION 에 대해서 나오게 하고 싶습니다.

ㅠㅠ 이리저리 님이 주신걸 가지고 컨트롤 해봤지만..잘 안되서여...ㅠㅠ

다시한번 부탁드릴께요..


WITH TB_IN_SI_INFO AS
(
SELECT 'ASIA' REGION, 'INDONESIA' COUNTRY, 'REFRIGERATOR' PRODUCT, 'SAMSUNG' BRAND_TOP1, 'MIDEA' BRAND_TOP2, 'SANYO' BRAND_TOP3 FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'SHARP', 'MODENA', 'MIDEA' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'MITSHUBUSHI', 'SANYO', 'MIDEA' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'LG', 'SAMSUNG', 'MIDEA' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'LG', 'SAMSUNG', 'HITACHI' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'LG', 'SAMSUNG', 'SANKEN' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'LG', 'SAMSUNG', 'SANKEN' FROM DUAL
UNION ALL SELECT 'ASIA', 'INDONESIA', 'REFRIGERATOR', 'LG', 'TOSHIBA', 'SANKEN' FROM DUAL
)
SELECT REGION, COUNTRY, PRODUCT
     , RN
     , MAX(BRAND_TOP1) BRAND_TOP1
     , MAX(TOP1_CNT  ) TOP1_CNT
     , MAX(BRAND_TOP2) BRAND_TOP2
     , MAX(TOP2_CNT  ) TOP2_CNT
     , MAX(BRAND_TOP3) BRAND_TOP3
     , MAX(TOP3_CNT  ) TOP3_CNT
  FROM (
        SELECT REGION, COUNTRY, PRODUCT
             , BRAND_TOP1
             , BRAND_TOP2
             , BRAND_TOP3
             , COUNT(*) CNT
             , NVL2(BRAND_TOP1, COUNT(*), NULL) TOP1_CNT
             , NVL2(BRAND_TOP2, COUNT(*), NULL) TOP2_CNT
             , NVL2(BRAND_TOP3, COUNT(*), NULL) TOP3_CNT
             , RANK() OVER(
               PARTITION BY GROUPING_ID(BRAND_TOP1, BRAND_TOP2, BRAND_TOP3)
               ORDER BY COUNT(*) DESC) RK
             , ROW_NUMBER() OVER(
               PARTITION BY GROUPING_ID(BRAND_TOP1, BRAND_TOP2, BRAND_TOP3)
               ORDER BY COUNT(*) DESC) RN
          FROM TB_IN_SI_INFO
         GROUP BY REGION, COUNTRY, PRODUCT
             , GROUPING SETS ((BRAND_TOP1), (BRAND_TOP2), (BRAND_TOP3))
        )
 WHERE 1=1
 AND RK = 1
 GROUP BY REGION, COUNTRY, PRODUCT, RN
 ORDER BY REGION, COUNTRY, PRODUCT, RN
;
 

 

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

음..

이전 글 고쳐 놨는데... 확인 안하셨군요.

마농(manon94)님이 2012-01-19 17:05에 작성한 댓글입니다.

확인했습니다....ㅠㅠ 정말이지..감탄 할 수 밖에 없네요....정말 감사합니다...^^;;

일쌍다반사(jshlove7)님이 2012-01-19 17:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
39249procedure 삭제시 오류 해결부탁드립니다. [1]
정재림
2012-01-20
3663
39248간단한 문제좀 도와주세요~ [2]
영구
2012-01-19
4433
39247오라클11 설치시 물리적메모리 에러 [1]
이무용
2012-01-19
18745
39246마농님께.....이거 한번만 더 봐주시면 안될까요? ㅜㅜ..제가 좀 초보라....ㅜㅜ [2]
일쌍다반사
2012-01-19
5748
39245쿼리 도움 부탁드립니다
초보
2012-01-19
3643
39244[프로시져] 어떻게 만들어야 하나요.ㅠㅠ 프로시져 어렵네요.ㅠㅠ [1]
나진산
2012-01-18
4119
39243HSODBC로 여러 MS-SQL Server 연동이 가능한가요?
허진우
2012-01-18
3212
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.028초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다