我有一张表,每个记录中有三个数字,最小值,最大值和观察值。我想估计一个插值,它预测给定最小值和最大值的观测值。为此,我想计算每条记录的斜率和截距的平均值和标准差。我的理解是STDDEV
和AVG
函数仅适用于具有GROUP BY
子句的查询。我的表没有任何我可以分组的内容,除非我根据记录ID是奇数还是偶数做了像group这样的愚蠢的事情。有没有办法使用MySQL计算这些描述性统计数据?
答案 0 :(得分:1)
您不必使用GROUP BY
来使用AVG
和STDDEV
,如以下示例所示:
mysql> select * from test;
+------+------+----------+
| min | max | observed |
+------+------+----------+
| 1 | 10 | 2 |
| 2 | 20 | 4 |
+------+------+----------+
mysql> SELECT AVG(observed) FROM test;
+---------------+
| AVG(observed) |
+---------------+
| 3.0000 |
+---------------+
1 row in set (0.00 sec)
mysql> SELECT STDDEV(observed) FROM test;
+------------------+
| STDDEV(observed) |
+------------------+
| 1.0000 |
+------------------+
1 row in set (0.00 sec)
答案 1 :(得分:0)
您想要计算所有记录的聚合吗?把它们分成一组:
GROUP BY "1"