아래와 같은 데이터가 있습니다. tdate 는 date 형
칼럼이고요.
선물시장 데이터인데요...
일자마다 시간순으로 약 360건 정도의 데이타가 있구요.
이 데이타를 기반으로 일자별 데이타를 한건씩으로 정리해야
됩니다.
1분 데이타를 일자별로 정리해서 1데이 데이타로 만들어야 합니다.
"tdate","OPEN","HIGH","LOW","CLOSE","VOLUME"
1996-05-03 09:00:00,108.50,108.50,108.50,108.50,24
1996-05-03 09:01:00,108.75,108.75,108.55,108.55,3
1996-05-03 09:02:00,108.55,108.55,108.55,108.55,1
.
.
1996-05-03 15:05:00,108.55,108.55,108.55,108.55,1
1996-05-03 15:15:00,108.40,108.40,108.35,108.40,1
.
.
1996-05-04 09:00:00,108.50,108.50,108.50,108.50,24
1996-05-04 09:01:00,108.75,108.75,108.55,108.55,3
1996-05-04 09:02:00,108.55,108.55,108.55,108.55,1
.
.
1996-05-04 15:05:00,108.55,108.55,108.55,108.55,1
1996-05-04 15:15:00,108.40,108.40,108.40,108.40,1
.
.
tdate는 날짜와 시간이고요.
OPEN은 해당 1분의 시작 지수
HIGH는 해당 1분동안 최고 지수
LOW는 해당 1분동안 최저 지수
CLOSE는 해당 1분이 끝날때의 지수 입니다.
즉 맨 위 1996년 5월3일과 같은 경우는
하루 데이타가 약 375건인데
"tdate","OPEN","HIGH","LOW","CLOSE","VOLUME"
1996-05-03 09:00:00,108.75,108.50,108.35,108.40,12353
새로운 테이블에 하루치 데이타가 이런 식으로 한건으로 정리가
되어야 합니다.
여기서 open 은 해당일자중 가장 첫 1분 데이타 행의 OPEN
값이고,
HIGH 는 해당일자의 HIGH 자료중 최고값
LOW 는 해당일자의 LOW 자료중 최저값
CLOSE 는 해당일자의 맨 마지막 1분 데이타 행의 CLOSE 값
VOLUME 은 당일 VOLUME 의 합산 값입니다.
일자별 테이블을 따로 만들어서 작업할건데요.
HIGH, LOW, VOLUME 은 각각 max(), min(), sum() 이용하면
될거 같은데...
나머지 해당 일자의 첫번째와 마지막 데이타의 특정 칼럼을
가져오는건 어케해야 될지 모르겠네요.
PL/SQL 로 작업해야 될까요?
아니면 그냥 query 로 가능할까요?
도움 부탁 드립니다.
|