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 41235 게시물 읽기
No. 41235
쿼리 질문 드립니다.
작성자
궁금이
작성일
2016-09-08 11:32ⓒ
2016-09-08 13:21ⓜ
조회수
7,006

안녕하세요

A테이블에 이름과 시작 날짜가 순차적으로 들어있습니다.

 

name st_date

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

p1 20160901

p1 20160501

p1 20160301

 

 

아래와 같이 조회하고 싶습니다.

종료일은 자신 보다 시작일이 큰 로우의 하루 전 입니다.

 

name st_date ed_date

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

p1 20160901 null

p1 20160501 20160831

p1 20160301 20160430

 

쿼리좀 부탁드립니다.

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

WITH t AS
(
SELECT 'p1' name, '20160901' st_date FROM dual
UNION ALL SELECT 'p1', '20160501' FROM dual
UNION ALL SELECT 'p1', '20160301' FROM dual
)
SELECT name
     , st_date
     , TO_CHAR(TO_DATE(
       LAG(st_date) OVER(PARTITION BY name ORDER BY st_date DESC)
       , 'yyyymmdd') - 1, 'yyyymmdd') ed_date
  FROM t
;

마농(manon94)님이 2016-09-08 13:40에 작성한 댓글입니다.

마농님 감사합니다.

하나 배웠습니다.

궁금이님이 2016-09-08 14:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
41238(질문)프로시져 호출시 성능 저하
이철우
2016-09-12
6868
41237유저정의함수를 사용하는 SQL의 성능에 대해서 [1]
선도리
2016-09-11
7070
41236토드, sql Developer 의 쿼리결과가 다른이유
최의심
2016-09-08
6877
41235쿼리 질문 드립니다. [2]
궁금이
2016-09-08
7006
41234스토어 프로시져의 파라메터 정보는 어디서 확인가능한가여? [2]
최종길
2016-09-07
6789
41233oracle 프로시저 추가 질문 [2]
김용완
2016-09-07
6951
41232인덱스테이블스페이스 용량문의. [2]
김삼
2016-09-07
6892
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다