Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何根据日期获取最近X行的平均价格?_Mysql_Sql_Sql Order By_Average - Fatal编程技术网

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行的平均价格


.

您可能需要使用
按日期排序说明