我在sqlite表中有一个包含大量数据的表,我希望对其进行平均并偶尔减少以保持快速查询。该表仅包含几个用于估计一些误差系数的测量数据(该表始终会更新)。

如何以一定的精度或平均块的范围或面积在sqlite中平均数据?

到目前为止,这就是我所要了解的内容,它仅取决于我尝试对(column DistanceX)进行分组的列中数据的精度。

SELECT avg(ErrorX), ErrorType FROM historyIMU WHERE ErrorType='XY'
GROUP BY DistanceX


我想做类似GROUP BY DistanceX between +/- 0.05*DistanceX或其他将数千个点转换成几百个仍保持相同轮廓的方法(根据我的示例,DistanceX和ErrorX之间的关系)。

最佳答案

我从非常普通的sql角度回答这个问题-代替GROUP BY使用HAVING子句过滤X between 0.95*DistanceX and 1.05*DistanceX

但这将是沉重的查询。创建索引来处理它会稍微改善它,但是这种逻辑必然很沉重。

10-07 22:35