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

标签 sql sqlite

我在 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/

相关文章:

python - InterfaceError :(sqlte3. InterfaceError)绑定(bind)参数0时出错

python - Cython 回调中的段错误

android - 使用新列更新现有数据库表在 Activity android 中不起作用

mysql - 如何获得获得树子的步骤数

sql - Laravel Eloquent ORM 与查询构建器哪个更好?

java - SQL 服务器,HQL : How to compare SQL server datetime column field to date

MySQL-获取最近的日期并显示表中的每一行

java - 如何从 sqlite 数据库中获取数据并将其存储在 ListView 中

java - 如何使用 OrmLite 连接到受密码保护的 SQLite 数据库?

sql - BETWEEN 的行为不具有包容性