Вычисление описательной статистики с MySQL без оператора GROUP BY - PullRequest
1 голос
/ 27 марта 2012

У меня есть таблица с тремя числами в каждой записи, минимумом, максимумом и наблюдаемым значением. Я хотел бы оценить интерполяцию, которая предсказывает наблюдаемое значение с учетом минимальных и максимальных значений. Для этого я хотел бы рассчитать среднее и стандартное отклонение для наклона и пересечения для каждой записи. Насколько я понимаю, функции STDDEV и AVG применяются только к запросам, которые имеют предложение GROUP BY. В моей таблице нет ничего, что я мог бы сгруппировать, если только я не делаю что-то глупое, например, группировка по тому, является ли идентификатор записи нечетным или четным. Есть ли способ вычисления описательной статистики такого рода с использованием MySQL?

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Вам не нужно использовать 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)
0 голосов
/ 27 марта 2012

Вы хотите рассчитать агрегаты для всех записей? объедините их в одну группу:

GROUP BY "1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...