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 26678 게시물 읽기
No. 26678
연속적이지 않은 날짜데이터의 바로 직전 일자 데이타와의 연산 문제
작성자
이진웅(lynnweb)
작성일
2006-05-08 16:11ⓒ
2006-05-08 16:12ⓜ
조회수
2,374


"tdate" "open" "high" "low" "close" "volume"
03-28-2006 00:00:00 172.45 173.65 171.70 173.20 153,577.00
03-29-2006 00:00:00 171.20 174.20 170.70 173.15 181,810.00
03-30-2006 00:00:00 173.75 174.75 173.25 174.20 154,755.00
03-31-2006 00:00:00 173.90 177.20 173.60 176.80 153,437.00
04-03-2006 00:00:00 177.15 180.15 176.90 178.80 158,884.00
04-04-2006 00:00:00 179.00 180.60 178.70 180.15 159,417.00
04-05-2006 00:00:00 180.20 181.35 179.80 181.35 161,428.00
04-06-2006 00:00:00 181.35 183.40 180.60 181.90 166,314.00
04-07-2006 00:00:00 182.30 183.00 181.35 183.00 143,887.00
04-10-2006 00:00:00 181.60 182.95 181.25 182.10 164,586.00
04-11-2006 00:00:00 181.85 182.00 178.25 179.95 251,226.00
04-12-2006 00:00:00 179.00 180.05 178.20 179.20 183,660.00
04-13-2006 00:00:00 179.25 183.00 179.05 183.00 180,467.00
04-14-2006 00:00:00 183.30 187.05 182.70 186.65 173,488.00
04-17-2006 00:00:00 186.90 187.00 184.30 184.95 162,271.00
04-18-2006 00:00:00 184.45 187.00 184.25 185.75 220,926.00
04-19-2006 00:00:00 187.60 189.05 186.90 187.75 162,934.00
04-20-2006 00:00:00 187.55 188.40 186.35 186.70 172,665.00
04-21-2006 00:00:00 187.60 190.20 187.30 189.20 186,423.00
04-24-2006 00:00:00 188.30 188.50 185.45 185.60 200,984.00
04-25-2006 00:00:00 185.60 187.95 184.45 186.40 227,017.00
04-26-2006 00:00:00 186.85 189.35 186.35 188.95 186,909.00
04-27-2006 00:00:00 189.70 190.15 188.15 189.00 162,965.00
04-28-2006 00:00:00 187.70 187.70 183.65 184.45 201,034.00
05-02-2006 00:00:00 184.40 186.70 183.25 186.40 175,761.00
05-03-2006 00:00:00 187.05 189.25 186.20 186.95 181,328.00
05-04-2006 00:00:00 186.85 187.60 185.10 187.30 168,383.00


에효~ 공부를 제대로 안해두니 쿼리가 막히는게 많네요.

위와 같은 데이터가 있습니다.
선물지수 일별 데이타 입니다.

tdate 는 date 형 칼럼 나머지는 number 입니다.

날짜는 연속적이지 않습니다.

 

쿼리는 평균을 구하는 SELECT 쿼리인데,

조건부분은 당일 시가(open) - 전일 종가(close) 의
차감한 값이 +2 가 넘는 경우로 제한합니다.
(날짜가 불연속이라 바로 이전 거래일의 close 값과 당일의 open 값을
어떻게 비교해야 되는지 모르겠네요.)

 

구하는 값은 위의 조건값을 가진 행들중 당일 최고가(high)와
최저가(low)를 차감한 값들의 평균을 구하는 문제입니다.

 

연속적이지 않은 날짜의 데이타에서 바로 이전 거래일의 close 값과
당일의 open 값을 어떻게 비교하는지가 모르겠는 부분입니다.

도움 말씀 부탁 드립니다.

 

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

어떤분의 도움으로 이 문제도 해결되었네요.

같은 문제로 고민하시는 분들이 혹 있을지도 몰라 자답 추가합니다.

 

이 문제는 해결하려면 같은 테이블에서 다른 두행의 데이타를 참조해야 되기 때문에 셀프조인이나 분석함수로 9i(?) 이후로 제공되는 분석함수인 LAG, LEAD 함수를 써야 한다는군요.

하나 배웠습니다.

 

일단 평균은 안구했지만 아래와 같은 SELECT 문으로 해결 했습니다.

 

select t, open, high, low, close, volume, gap, amp
from (
 select tdate t, open, high, low, close, volume, open - (LAG(close, 1) OVER (order by tdate asc)) as gap, high - low as amp
 from f1d
)
where gap >= 2
order by t asc;

 

 

이진웅님이 2006-05-09 03:22에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
26681오늘 질문 많넹 ^^; initSID.ora [5]
까먹지마
2006-05-08
1886
26680오라클과 MS-SQL서버를 한쿼리로 볼 수 있을까요? [2]
아폴론
2006-05-08
1805
26679archive관련된 파일인지요 [2]
유경희
2006-05-08
1486
26678연속적이지 않은 날짜데이터의 바로 직전 일자 데이타와의 연산 문제 [1]
이진웅
2006-05-08
2374
26677v$session, v$sqltext 에 대해서... [3]
까먹지마
2006-05-08
2487
26676프로시져에서 데이터가 있으면 테이블조인을 하고 그렇지 않는경우 조인을 하지 않는 방법이 있습니까? [1]
조기영
2006-05-08
1398
26675chained rows 가 뭘 의미 하는 건지요 ? [1]
까먹지마
2006-05-08
3113
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다