我在 sqlite 表中有一个包含大量数据的表,我想偶尔对其进行平均和减少以保持快速查询。该表只有几个测量数据,我用它来估计一些误差系数(表总是更新)。
如何在 sqlite 中以一定的精度或平均 block 的范围或面积对数据进行平均?
这是我到目前为止所拥有的,但是,它仅取决于我尝试分组的列(DistanceX 列)中数据的精度。
SELECT avg(ErrorX), ErrorType FROM historyIMU WHERE ErrorType='XY'
GROUP BY DistanceX
我想做一些像 GROUP BY DistanceX between +/- 0.05*DistanceX
或其他一些方法将数千个点转换成几百个仍然保持相同轮廓的方法(DistanceX 和 ErrorX 之间的关系来 self 的例子)。
最佳答案
我在非常通用的 sql 意义上回答这个问题 - 而不是 GROUP BY
使用 HAVING
子句来过滤 X 介于 0.95*DistanceX 和 1.05*DistanceX
。
但这将是繁重的查询。创建索引来处理它会稍微改善它,但这个逻辑必然很重。
关于sql - 通过平均减少sql表中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644694/