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 38639 게시물 읽기
No. 38639
특정 행에 대한 이전 값을 알고 싶습니다.
작성자
장윤기(clinx)
작성일
2011-06-25 17:06ⓒ
2011-06-25 17:10ⓜ
조회수
3,949

안녕하세요~

초급프로그래머 입니다..

일주일동안 고민 하고 주말에도 고민해 보았지만

결론을 못 찾아 이렇게 질문을 드립니다.

PK로 DT, KEY, DEPT 이렇게 3개의 인자를 구성하고 QTY라는 필드가 존재 합니다.

KEY, DEPT 값이 일치 하고 DT가 다를 경우 DT의 이전값에 대한 QTY를 구하고 싶습니다.

어떻게 할지 감이 안잡히는 군요. LAG, LAST_VALUE 이것 저것 해보았지만 아직 해결 못습니다.

DT KEY DEPT QTY 원하는값
20110101 KEY1 100 1 0
20110101 KEY1 100 2 1
20110202 KEY2 200 3 0
20110202 KEY2 200 4 3
20110202 KEY2 200 5 4
20110202 KEY3 500 6 0
 

선배님들의 조언 부탁 드립니다..

감사합니다

 

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

 with t as (

select '20110101' dt, 'KEY1' key, '100' dept, 1 qty from dual union all
select '20110101', 'KEY1', '100', 2 from dual union all
select '20110202', 'KEY2', '200', 3 from dual union all
select '20110202', 'KEY2', '200', 4 from dual union all
select '20110202', 'KEY2', '200', 5 from dual union all
select '20110202', 'KEY3', '500', 6 from dual
)
select dt
     , key
     , dept
     , qty
     , nvl(lag(qty) over(partition by dt, key, dept order by qty), 0) p_qty
  from t
知音(sunnylee72)님이 2011-06-27 09:02에 작성한 댓글입니다.

감사합니다 知音(sunnylee72)님 덕분에 큰 힘이 되었습니다~~

장윤기(clinx)님이 2011-06-27 14:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
38644with NAME as (~~~ 어떻게 사용하나요? [2]
냥이
2011-06-29
4022
38642ORA - 06052 에러 [2]
장마철
2011-06-28
4554
38640오라클 설치 문의 [1]
레이첼
2011-06-26
3175
38639특정 행에 대한 이전 값을 알고 싶습니다. [2]
장윤기
2011-06-25
3949
38637view 만드는데.. [1]
아폴론
2011-06-24
3741
38636pk 잡기 [3]
레이첼
2011-06-24
4344
38635ALL_TAB_COLUMNS를 테이블별로 한줄로 표시 [3]
CHOBO
2011-06-24
5462
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다