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 40314 게시물 읽기
No. 40314
조회문 질문..
작성자
워즈(kwakdong)
작성일
2013-11-19 17:21
조회수
7,012
with AAA AS
(
select 'A' ACODE, '20131101' ADATE, '가' ANAME from dual
union all
select 'A' , '20131015', '다' from dual
union all
select 'A' , '20130901', '나' from dual
union all
select 'B' , '20130930', '가' from dual
union all
select 'B' , '20130901', '나' from dual
union all
select 'B' , '20131014', '라' from dual
union all
select 'C' , '20131015', '다' from dual
union all
select 'C' , '20131030', '다' from dual
union all
select 'D' , '20130815', '가' from dual
union all
select 'D' , '20131102', '라' from dual
union all
select 'D' , '20130501', '나' from dual
union all
select 'D' , '20130503', '마' from dual
)
 
 
이와 같은 데이타가 있는데,
 
ACODE 별 ANAME 이 '가' 인 데이타의 ADATE 값을 보여주고,
그 옆에 ACODE별 '가'인 ADATE 이전날짜 중 ADATE 최근날짜와 그 해당하는 ANAME 값을 보여주고자 합니다.
 
ACODE        ADATE      ANAME        ADATE2         ANAME2
-------------------------------------------------------------------------------
A            '20131101'    '가'     '20131015'   '다'
 
B            '20130930'   '가'      '20130901'   '나'
D           '20130815'    '가'     '20130503'   '마'
-------------------------------------------------------------------------------
 
몇시간째 고민중인데, 잘 안되내요.
 
 
 
 
이 글에 대한 댓글이 총 3건 있습니다.

SELECT acode

, max ( decode ( aname, '가', adate ) )

, max ( decode ( aname, '가', adate_# ) )

FROM (

select a.*

, lead ( adate ) over ( partition by acode order by adate desc, aname ) adate_#

from aaa a

)

GROUP BY acode

HAVING COUNT(DECODE ( ANAME, '가', 1 ) ) = 1

채용근(taiji97)님이 2013-11-19 18:18에 작성한 댓글입니다.

SELECT *
  FROM (SELECT acode, adate, aname
             , LAG(adate) OVER(PARTITION BY acode ORDER BY adate) bdate
             , LAG(aname) OVER(PARTITION BY acode ORDER BY adate) bname
          FROM aaa
        )
 WHERE aname = '가'
;

마농(manon94)님이 2013-11-20 09:41에 작성한 댓글입니다.

마농형껄 보니 굉장히 어렵게 생각했네요 ㅎㅎ

채용근(taiji97)님이 2013-11-20 09:59에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40318데이타 insert 대용량 처리 [1]
강남
2013-11-26
6512
40317주소컬럼에서 숫자,알파벳을 2byte로 변환 문제 [4]
2013-11-25
7092
40316문자열 값 체크 관련 펑션 문의드립니다. [2]
김홍찬
2013-11-25
5938
40314조회문 질문.. [3]
워즈
2013-11-19
7012
40313고수님들의 조언 부탁드립니다. [2]
일쌍다반사
2013-11-13
6055
40312sqlplus single line 한계 [1]
오라
2013-11-12
8016
40311make 문제 발생?
하이에나
2013-11-12
6370
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다