我在sqlite表中有一个包含大量数据的表,我想平均并暂时减少以保持查询速度。该表只有几个用于估算某些误差系数的测量数据(表总是得到更新)。
如何使用一定精度或平均块的范围或区域对sqlite中的数据进行平均?
这是我到目前为止所做的,但它只取决于我尝试分组的列中的数据精度(列DistanceX)。
SELECT avg(ErrorX), ErrorType FROM historyIMU WHERE ErrorType='XY'
GROUP BY DistanceX
我想做GROUP BY DistanceX between +/- 0.05*DistanceX
或其他一些将数千个点转换成数百个仍然保持相同轮廓的方法(我的例子中的DistanceX和ErrorX之间的关系)。
答案 0 :(得分:0)
我在非常通用的sql意义上回答这个问题 - 而不是GROUP BY
使用HAVING
子句来过滤X between 0.95*DistanceX and 1.05*DistanceX
。
但这将是一个沉重的查询。创建处理它的索引会稍微改善它,但这种逻辑肯定很重。