PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Interroger PostgreSQL pour le rapport Open-High-Low-Close (OHLC)

Vous avez les vôtres regroupés à la minute près. Ce que je vais supposer est faux parce que cela se fait généralement de jour. Si je me trompe, vous devrez le modifier.

SELECT DISTINCT contract_id, ts::date,
  min(price) OVER w,
  max(price) OVER w,
 first_value(price) OVER w, 
 last_value(price) OVER w
FROM fill
WINDOW w AS (PARTITION BY contract_id, ts::date ORDER BY ts)
ORDER BY 1,2