Open-high-low-close 데이터를 얻기 위해 PostgreSQL 8.4.2 서버의 테이블을 쿼리하려고합니다. 테이블과 첫 번째 쿼리는 아래와 같습니다.OHLC (Open-High-Low-Close) 보고서에 대한 PostgreSQL 쿼리
질문 : 아래 예제 쿼리에서 서브 쿼리를 사용하지 않고 동일한 결과를 얻는 방법이 있습니까? 아마도 FIRST_VALUE() 또는 LAST_VALUE() 창 메서드를 사용하고 있을까요?
-- FIRST ATTEMPT AT OHLC
SELECT
contract_id
, TO_CHAR(ts, 'YYMMDDHH24MI')
, (SELECT price FROM fill minF WHERE minF.fill_id = MIN(f.fill_id)) AS open
, MAX(f.price) AS high
, MIN(f.price) AS low
, (SELECT price FROM fill maxF WHERE maxF.fill_id = MAX(f.fill_id)) AS close
FROM fill f
GROUP BY 1,2
ORDER BY 1,2;
-- SIMPLIFIED DDL
CREATE TABLE fill
(
contract_id SEQUENCE PRIMARY KEY
, ts TIMESTAMP
, price NUMERIC(10,4)
);
* fill_id * 매개 변수의 출처는 무엇입니까? 내 사례에이 쿼리를 적용하려고했지만 실제로 성공하지 못했습니다. – Azathoth