MySQL накопительный с Пирсона R

Я использую MySQL & PHP для расчета R Пирсона, измеряющего соотношение между политическими пожертвованиями и тендерами, полученными конкретным бизнесом в течение ряда лет.

У меня возникли проблемы с запросом MySQL, который вводит значения в алгоритм. Сам алгоритм в порядке и оценивает правильно. Проблема в запросе, используемом для получения данных.

Формула, которую я использую для R Пирсона: http://www.statisticshowto.com/how-to-compute-pearsons-correlation-coefficients/

Вот основной запрос MySQL, который выплевывает значения для каждого года:

SELECT count( distinct year) as count,name,sum(donations), sum(tenders), sum(donations * tenders) as xy,(sum(donations)*sum(donations)) as x2, (sum(tenders)*sum(tenders)) as y2 from money_by_year where name='$name' group by name,year

Вот запрос WITH ROLLUP, чтобы получить только окончательные значения:

SELECT count( distinct year) as count,name,sum(donations), sum(tenders), sum(donations * tenders) as xy,(sum(donations)*sum(donations)) as x2, (sum(tenders)*sum(tenders)) as y2 from money_by_year where name='$name' group by name with rollup LIMIT 1

Проблема в том, что суммы из второго запроса неверны в сумме xy, x2 & y2. Это вызвано самим запросом, возможно, ROLLUP, и я хотел бы знать, что с ним происходит.

Вы можете увидеть рабочие примеры кода со значениями, полученными как из приведенных выше запросов, так и из алгоритма на https://openaus.net.au/follow_the_money.php?name=KPMG

Я пробовал различные изменения в сумме (пожертвования * тендеры) как xy, например, реализуя его как сумму (пожертвования) * сумма (тендеры), как в:

SELECT count( distinct year) as count,name,sum(donations), sum(tenders), sum(donations) * sum(tenders) as xy,(sum(donations)*sum(donations)) as x2, (sum(tenders)*sum(tenders)) as y2 from money_by_year where name='KPMG' group by name with rollup LIMIT 1

однако итоги ROLLUP неверны, они намного больше, чем должны быть. Значения, которые я хочу, могут быть невозможны с помощью одного запроса MySQL, однако я был бы признателен, если бы знал, почему это так, что ROLLUP делает с цифрами и почему.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]