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 35005 게시물 읽기
No. 35005
초보 쿼리좀 도와주세요...
작성자
초보자
작성일
2008-12-22 15:10
조회수
2,897

안녕하십니까..

매일 눈팅을로 즐기다가... 도움을 요청하게 되었습니다.

쿼리는 아무리해도... 늘지가 않는것 같아서 속상합니다.. ㅠㅠ



WITH TEST AS(

 SELECT '1' step, '홍길동' name, '아들' position, 'S' state  FROM DUAL UNION ALL

 SELECT '2' , '아버지', '양반', 'A'   FROM DUAL UNION ALL

 SELECT '2' , '형님', '아들', 'A'   FROM DUAL UNION ALL

 SELECT '2' , '누님', '딸', 'A'   FROM DUAL UNION ALL

 SELECT '2' , '어머니', '주부', 'S'   FROM DUAL UNION ALL

 SELECT '3' , '', '', ''   FROM DUAL

)

SELECT

  step, max(name), max(position), max(state)

FROM  TEST

group by step

order by step

;

먼저 쿼리를 간단히 올려드립니다..


아무리.. 발버둥을 쳐봐도... 해결이 나질 않네요..

제가 원하는 결과값은

1   홍길동           아들    S

2   아버지외 3명  양반    A

3

이렇게 쿼리를 하고 싶습니다..

위 쿼리 처럼 max를 쓰자니...  세개 컬럼의 값이 원래 컬럼값과 틀려지는 경우가 있고.. 그러네요..


고수님들 부탁드립니다..

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

WITH TEST AS(
 SELECT '1' step, '홍길동' name, '아들' position, 'S' state  FROM DUAL UNION ALL
 SELECT '2' , '아버지', '양반', 'A'   FROM DUAL UNION ALL
 SELECT '2' , '형님', '아들', 'A'   FROM DUAL UNION ALL
 SELECT '2' , '누님', '딸', 'A'   FROM DUAL UNION ALL
 SELECT '2' , '어머니', '주부', 'S'   FROM DUAL UNION ALL
 SELECT '3' , '', '', ''   FROM DUAL
)
SELECT STEP,
             CASE WHEN CNT > 1 THEN NAME||'외'|| TO_CHAR(CNT - 1)||'명'
                      ELSE NAME
             END NAME,
             POSITION,
             STATE
FROM  (SELECT RANK() OVER (PARTITION BY STEP ORDER BY ROWNUM ) RK,
                         COUNT(1) OVER (PARTITION BY STEP) CNT,
                         STEP, NAME, POSITION, STATE
            FROM TEST) A
WHERE RK = 1

대충 이런 식이면 될듯..

JHAN님이 2008-12-26 16:45에 작성한 댓글입니다. Edit

댓글감사합니다..

훌륭하십니다.. ㅠㅠ

전 아직 RANK() OVER (PARTITION BY 을 활용법을 모르겠습니다... 흑흑

초보자님이 2008-12-29 18:03에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
35011내부에 날리는 TNSPING 응답이 느리네요.. 왜그럴까요? [3]
골머리
2008-12-23
5225
35010백업&복구의 자동화를 위한 RMAN 책 추천좀 해주세요!!
윤철민
2008-12-23
2304
35006140명을 10개조로 랜덤 하게 조편성 할수있는 방법이.. [2]
염정훈
2008-12-22
3230
35005초보 쿼리좀 도와주세요... [2]
초보자
2008-12-22
2897
35004full outer join 결과가 left outer join 결과와 같이 나옵니다. INLINE VIEW를 FROM 절에 사용하면 문제가 되나요? [2]
pengjin
2008-12-22
4116
35003새로운 그룹 번호 매기기 ㅜㅜ;; [1]
김명현
2008-12-22
2631
3500210G 서버 데이타를 9i 로 import 가능한가여? [1]
김현주
2008-12-20
2694
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다