|
- SELECT hr,
- bmex / gdax AS ratio
- FROM
- (SELECT hr,
- max(gdax) "gdax", -- max(..) necessary to grab the non-NULL row from two returned
- max(bmex) "bmex" -- rows for each hr
- FROM
- (SELECT hr,
- (CASE
- WHEN exch=3 THEN wt_avg
- END) "gdax",
- (CASE
- WHEN exch=6 THEN wt_avg
- END) "bmex"
- FROM
- (SELECT hr,
- exch,
- w_sum / sum_w AS wt_avg
- FROM
- (SELECT date_trunc('hour', "time") AS hr,
- exch,
- sum(price * amount) AS w_sum,
- sum(amount) AS sum_w
- FROM trades
- WHERE base=1 -- btc=1 usd=100
- AND quote=100
- AND (exch=3 OR exch=6) -- gdax=3, bmex=6
- GROUP BY 1, 2
- ORDER BY 1, 2) a) b) c
- GROUP BY hr) d;
|