通过平均减少sql表中的数据?

时间:2015-11-11 05:19:17

标签: sql sqlite

我在sqlite表中有一个包含大量数据的表,我想平均并暂时减少以保持查询速度。该表只有几个用于估算某些误差系数的测量数据(表总是得到更新)。

如何使用一定精度或平均块的范围或区域对sqlite中的数据进行平均?

这是我到目前为止所做的,但它只取决于我尝试分组的列中的数据精度(列DistanceX)。

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

我想做GROUP BY DistanceX between +/- 0.05*DistanceX或其他一些将数千个点转换成数百个仍然保持相同轮廓的方法(我的例子中的DistanceX和ErrorX之间的关系)。

1 个答案:

答案 0 :(得分:0)

我在非常通用的sql意义上回答这个问题 - 而不是GROUP BY使用HAVING子句来过滤X between 0.95*DistanceX and 1.05*DistanceX

但这将是一个沉重的查询。创建处理它的索引会稍微改善它,但这种逻辑肯定很重。