mysql - MySQL 中的聚合标准差没有差异吗?

标签 mysql sql statistics

在 MySQL 数据库中,我有一个 View (view_one),其中包含多个农田的大量植被索引。这些字段进一步分为地 block 、样线和点。

这是基本的表格设计:

测量 ID |字段 ID |情节ID |横断面 |点|植被索引_1 | ....|

我为每个地 block 的植被指数平均值及其各自的标准差创建了第二个 View 。

创建 View plot_avgs(measure_id,field_id,plot_id,avg_VI1,stddev_VI1,... 作为选择measure_id,field_id,plot_id,avg(VI1),stddev_samp(VI1),... 来自 view_one 按measure_id、field_id、plot_id 分组;

我想要的是绘图的标准差,即样本的标准差 (stddev_samp())。

然而,MySQL 给我的是总体的 stddev,无论使用 stddev(plot_avg)std(plot_avg)stddev_pop( plot_avg)stddev_samp(plot_avg)

我怀疑它与我正在使用的聚合组有关。

谁能帮帮我?谢谢。

最佳答案

好吧,我自己解决了问题:

如果我使用与我打算用来创建 View 的 select ... from ... 语句完全相同的 语句,并且只需运行查询或使用它来创建表,我确实获得所需的样本标准差(图)。正如问题中所述,创建 View 时不会发生这种情况。

因此,我要做的是使用永久表而不是 View ,并在每次将新数据插入原始数据表时通过触发器更新它。

关于mysql - MySQL 中的聚合标准差没有差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16583764/

相关文章:

mysql - SQL链接5个表

mysql如何在触发器中获取最后插入的行值

javascript - 该学生的 t 分布 CDF 计算中有任何明显的缺陷吗?

mysql - 将数据库信息传递到已选择的行上的 Vb.net

mysql php 消息传递应用程序

php - MySQL根据第二个表字段值批量更新表

mysql - SQL json提取数组中的位置

algorithm - 给定 RNG,运行经验 PMF 及其变化的估计

statistics - 统计相关性 : Pearson or Spearman?

python - 使用Python读取.txt并插入MySQL数据库时出现"Incorrect integer value..."错误