확실하지 제목이 적합하지만, 여기 내 문제의 경우 : 나는 다음과 같은 테이블이 있습니다 모든 내용은최소(), 날짜 부분 집합 내에서 최대()
create table OpenTrades(
AccountNumber number,
SnapshotTime date,
Ticket number,
OpenTime date,
TradeType varchar2(4),
TradeSize number,
TradeItem char(6),
OpenPrice number,
CurrentAsk number,
CurrentBid number,
TradeSL number,
TradeTP number,
TradeSwap number,
TradeProfit number
);
alter table OpenTrades add constraint OpenTrades_PK Primary Key (AccountNumber, SnapshotTime, Ticket) using index tablespace MyNNIdx;
(SnapshotTime, 계정), 내가 원하는 resultimg min 및 max가 SnapshotTime과 관련하여 과거에 비례하는 방식으로 min (OpenPrice), max (OpenPrice)를 선택하십시오. 예를 들어, 가능한 모든 (계정, tradeitem) 쌍에 대해 SnapshotTime = 10-jun 및 openprice가 0.9에서 2.0 사이 인 10 개의 레코드와 SnapshotTime = 11-jun 및 openprice 사이에 10 개의 레코드가있을 수 있습니다 1.0 및 2.1뿐만 아니라 SnapshotTime = 12-jun 및 openprice가 0.7에서 1.9 사이 인 레코드가 10 개 더 있습니다.
AccountNumber SnapshotTime MyMin MyMax
------------- ------------ ----- -----
1234567 10-jun 0.9 2.0
1234567 11-jun 0.9 2.1
1234567 12-jun 0.7 2.1
내가 이미 시도했지만, 그것은 단지 같은 snapshottime 내 분() 및 최대()를 반환합니다 : 같은 시나리오에서 는 노력 쿼리는 다음과 같이 뭔가를 반환해야합니다
select accountnumber, snapshottime, tradeitem, min(openprice), max(openprice)
from opentrades
group by accountnumber, snapshottime, tradeitem
도움이 될 것입니다.
답장을 보내 주셔서 감사합니다. 그러나이 쿼리는 영원히 실행될 것으로 보인다. 그들이 올 때 결과를 볼 것입니다 ... – gcaglion