私はこのクエリを持っています:
SELECT
s.last_spread, s.sd, s.mean, s.id
,c.id_ticker, c.coef
,t.ticker
,/*p.last,*/ p.price
FROM (SELECT * FROM spreads WHERE spreads.id_check=1 LIMIT 60,896) as s
INNER JOIN coef as c
ON c.id_spread = s.id
INNER JOIN tickers AS t
ON t.id = c.id_ticker
LEFT JOIN (SELECT prices.id_ticker, MAX(prices.date) as last, prices.price FROM prices GROUP BY prices.id_ticker) AS p
ON p.id_ticker = t.id
ORDER BY s.id, c.id
最後の JOIN が正しい値を返さない....ティッカーの LAST PRICE を取得する必要があります (したがって、各ティッカーの最後の行)。
現時点では最初の価格が返されていますが、クエリ全体を変更して各 ticker.id の最終価格を取得するにはどうすればよいですか? ( p.id_ticker = t.id
)
ありがとう!