我有这个疑问:获取最后一排的MYSQL
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不会返回正确的值....我需要得到行情的最新价格(所以最后一行每个股票代码)。
目前它返回第一个价格,我如何更改整个查询以获取每个ticker.id的最后价格? (p.id_ticker = t.id
)
谢谢!
它工作正常! – Dail 2012-04-25 10:16:13
@jurgend是否可以优化它? (我指的是索引或其他?) – Dail 2012-04-25 10:16:41