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 40307 게시물 읽기
No. 40307
이런것도 쿼리로 가능할까요? ㅠㅠ
작성자
햇살한조각
작성일
2013-11-08 16:49ⓒ
2013-11-08 16:54ⓜ
조회수
6,728

 

안녕하세요~

ROWNUM 시작일자 종료일자
1 20121227 20130219
2 20130127 20130219
3 20130227 20130328
4 20130327 20130426
5 20130427 20130515
6 20130527 20130614
7 20130627 20131108

 

위 데이터를 아래처럼 조회하고 싶습니다..

시작일자 종료일자
20121227 20130219
20130227 20130426
20130427 20130515
20130527 20130614
20130627 20131108

 

설명을 드리자면..

시작일자와 종료일자 구간중 겹치는 구간이 있는경우

겹치는 ROW가 몇개가 됐든 하나의 ROW로 MIN(시작일자), MAX(종료일자)를 가져와야 하는데

쿼리로 가능할까요?

 

고수님들의 도움 부탁드립니다. (__)

 

 

 

WITH V AS
(
    SELECT '20121227' 시작일자, '20130219' 종료일자 FROM DUAL UNION ALL
    SELECT '20130127' 시작일자, '20130219' 종료일자 FROM DUAL UNION ALL
    SELECT '20130227' 시작일자, '20130328' 종료일자 FROM DUAL UNION ALL
    SELECT '20130327' 시작일자, '20130426' 종료일자 FROM DUAL UNION ALL
    SELECT '20130427' 시작일자, '20130515' 종료일자 FROM DUAL UNION ALL
    SELECT '20130527' 시작일자, '20130614' 종료일자 FROM DUAL UNION ALL
    SELECT '20130627' 시작일자, '20131108' 종료일자 FROM DUAL
)
SELECT *
FROM   V;

 

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

SELECT MIN(시작일자) 시작일자
     , MAX(종료일자) 종료일자
  FROM (SELECT 시작일자, 종료일자
             , SUM(flag) OVER(ORDER BY 시작일자, 종료일자) grp
          FROM (SELECT 시작일자, 종료일자
                     , CASE WHEN
                       MAX(종료일자) OVER(ORDER BY 시작일자, 종료일자
                       ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
                       ) >= 시작일자
                       THEN 0 ELSE 1 END flag
                  FROM v
                )
        )
 GROUP BY grp
 ORDER BY grp
;

마농(manon94)님이 2013-11-11 09:21에 작성한 댓글입니다.
이 댓글은 2013-11-11 09:22에 마지막으로 수정되었습니다.

마농님 정말정말 감사합니다..

정말이지 마농님이 답변 달아주시는거 볼때마다 감탄을 금치 못하겠네요..

마농님 답변 보면서 많이 배우고 있습니다. 감사합니다 ^^

 

햇살한조각님이 2013-11-11 10:04에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
40310Proc make 중 오류
하이에나
2013-11-12
6321
40309sql 실행 계획 [1]
예언자
2013-11-11
6538
40308쿼리문의 조건문이 너무 지저분한것 같은데 봐주세요 ㅜㅜ [1]
쌈창
2013-11-11
6299
40307이런것도 쿼리로 가능할까요? ㅠㅠ [2]
햇살한조각
2013-11-08
6728
40306UUID 생성 [1]
구박덩어리
2013-11-08
7741
40305도로명 주소 관련 인덱스 생성 [1]
곽동엽
2013-11-08
11165
40304CONNECT BY 쿼리문 좀 도와주세요 [6]
김정훈
2013-11-07
6820
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다