我可以使用 SQL 查询成功计算一个代码的 200 天移动平均线,我现在正在尝试创建一个 View 。我卡住了以下查询似乎合乎逻辑但存在 SQL 错误 “#1054 - ‘where 子句’中的未知列‘equity.TickerID’”
SELECT AVG(Close) AS MA200 FROM equity
INNER JOIN
(
SELECT Close
FROM equity_pricehistory
WHERE TickerID = equity.TickerID
ORDER BY Timestamp
DESC LIMIT 0,200
) as Y
最佳答案
明白了。这样就可以了。
SELECT equity.id, AVG( equity_pricehistory.close ) AS MA200
FROM equity
INNER JOIN equity_pricehistory ON equity_pricehistory.TickerID = equity.id
GROUP BY equity_pricehistory.TickerID
ORDER BY Timestamp DESC
LIMIT 0 , 200
我要指出的一件事是,如果您已经知道您想要的所有 TickerID 都在 equity_pricehistory
中,您可以完全忽略整个 equity
表。
关于mysql - 需要帮助解决此 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6643453/