mysql - 需要帮助解决此 SQL 查询

标签 mysql sql

我可以使用 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/

相关文章:

mysql - mysql命令行中的双重结果

java - 只插入一次

MySql:查询优化或表的结构优化

mysql - 如何在MySql和Sql Server之间自动来回传输数据?

Excel 数据透视表的 SQL 日期格式

javascript - PHP聊天客户端-服务器通信

mysql - 未知的内部查询错误

sql - 如何在数据库中的所有 varchar 和 nvarchar 字段之间转换换行符(将\r\n 替换为\n)

sql - 内连接中的子查询

php - 导出数据库中所有表的某些列