我正在尝试编写一个从大表(>1M行)返回移动平均值的查询。
表中有一列包含日期和,另一列包含数值。我需要过去的10天,与10天移动平均每一天。
无论我尝试什么,结果都慢得令人痛苦(并且只能在infinidb_vtable_mode =0或2的情况下运行)。
有没有一种合适的"infinidb方式“来进行快速移动平均(或类似的窗口函数)查询?
谢谢。
发布于 2014-04-15 09:48:21
在InfiniDB 4.0中,支持窗口函数,使用平均值作为窗口函数,可以通过以下查询得到最近10天的移动平均值
SELECT date_column,
AVERAGE(numeric_column) OVER (PARTITION BY date_column RANGE INTERVAL 10 DAY PRECEDING)
FROM table_name让我知道你得到了什么结果
https://stackoverflow.com/questions/16194450
复制相似问题