Mysql 如何根据日期获取最近X行的平均价格?
我希望计算可变日期的移动平均数 我的数据库是结构化的:Mysql 如何根据日期获取最近X行的平均价格?,mysql,sql,sql-order-by,average,Mysql,Sql,Sql Order By,Average,我希望计算可变日期的移动平均数 我的数据库是结构化的: id int date date price decimal 例如,我想知道过去5天内19天的平均价格是否比40天的平均价格更高。每个时间段都是可变的 我一直在为子查询选择特定数量的行 Select * from table order by date LIMIT 0 , 19 知道每天只有一个输入,我可以使用上面的作为子查询吗?在这之后,问题似乎很简单……如果你每天只有一个输入,你不需要id,日期可以是你的主要id吗?我错过什
id int
date date
price decimal
例如,我想知道过去5天内19天的平均价格是否比40天的平均价格更高。每个时间段都是可变的
我一直在为子查询选择特定数量的行
Select * from table
order by date
LIMIT 0 , 19
知道每天只有一个输入,我可以使用上面的作为子查询吗?在这之后,问题似乎很简单……如果你每天只有一个输入,你不需要id,日期可以是你的主要id吗?我错过什么了吗?然后使用selectsum
SELECT SUM(price) AS totalPrice FROM table Order by date desc Limit (most recent date),(furthest back date)
totalPrice/(total days)
我可能不理解您的问题是的,您可以将其用作如下子查询:
SELECT
AVG(price)
FROM
(SELECT * FROM t ORDER BY date DESC LIMIT 10) AS t1;
这将计算最近10行的平均价格
.您可能需要使用
按日期排序说明