我在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
。
但这将是沉重的查询。创建索引来处理它会稍微改善它,但是这种逻辑必然很沉重。