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 40507 게시물 읽기
No. 40507
난해한 쿼리 질문
작성자
궁금이
작성일
2014-06-25 18:52ⓒ
2014-06-25 18:55ⓜ
조회수
6,854

 

 
 아래 형태의 데이터를
Seq Parh date
1 a 1.1
2 a 1.2
3 a 1.4 
4 b 1.5 
5 a 1.7
6 a 1.10 
7 b 1.11
8 c 1.14
9 C 1.15
아래와 같이 end_date 결과를 얻으려고 합니다.
Seq Parh end_date
1 a 1.4
2 a 1.4
3 a 1.4 
4 b 1.5 
5 a 1.10
6 a 1.10 
7 b 1.11
8 c 1.15
9 c 1.15
로직은 path가 변화는 시점의 마지막 date를 취해서 이전까지의 동일한 path와 함께 end_date로 취하는 것입니다.
고수님들의 귀한의견 부탁드릴게요^^
 
 
                    
 
                    
 
이 글에 대한 댓글이 총 1건 있습니다.

WITH t AS
(
SELECT 1 seq, 'a' pt, '01.01' dt FROM dual
UNION ALL SELECT 2, 'a', '01.02' FROM dual
UNION ALL SELECT 3, 'a', '01.04' FROM dual
UNION ALL SELECT 4, 'b', '01.05' FROM dual
UNION ALL SELECT 5, 'a', '01.07' FROM dual
UNION ALL SELECT 6, 'a', '01.10' FROM dual
UNION ALL SELECT 7, 'b', '01.11' FROM dual
UNION ALL SELECT 8, 'c', '01.14' FROM dual
UNION ALL SELECT 9, 'c', '01.15' FROM dual
)
SELECT seq, pt
     , LAST_VALUE(dt IGNORE NULLS) OVER(ORDER BY seq DESC) dt
  FROM (SELECT seq, pt
             , DECODE(pt, LEAD(pt) OVER(ORDER BY seq), null, dt) dt
          FROM t
        )
 ORDER BY seq
;

마농(manon94)님이 2014-06-30 11:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40512일반항을 사용하지 않는 피보나치 [1]
김흥수
2014-06-26
6761
40511정말 안될까요..? 8버젼 export파일 9i에서 import..
한상원
2014-06-26
7122
40510조인의 효율성 질문 [2]
아폴론
2014-06-26
7119
40507난해한 쿼리 질문 [1]
궁금이
2014-06-25
6854
40506201601주차부터 이전 4주차 목록은 어떻게 가져오나요? [3]
야간비행
2014-06-25
7362
40505오라클 복구 이런경우는 어떻게 해야하는지? 도와주세요...
조승식
2014-06-24
6991
40501SQL질문입니다. 몇일 고민하다가 올립니다. [2]
매일출근
2014-06-18
7373
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다