У меня есть простая таблица под названием LOGENTRY с полями под названием «ДАТА» и «СТОИМОСТЬ». Пример:
+--------------+-------+
| DATE | COST |
+--------------+-------+
| MAY 1 2013 | 0.8 |
| SEP 1 2013 | 0.4 |
| NOV 1 2013 | 0.6 |
| DEC 1 2013 | 0.2 |
+--------------+-------+
Я хотел бы найти наклон поля СТОИМОСТЬ с течением времени (выбранный диапазон строк), в результате чего НАКЛОН = -0,00216 (это эквивалентно функции НАКЛОН Excel, также известной как линейная регрессия).
Есть ли простой способ ВЫБРАТЬ наклон СТОИМОСТИ? Если я сделаю математику на вызывающем языке (php), я могу найти наклон как:
SLOPE = (N * Sum_XY - Sum_X * Sum_Y)/(N * Sum_X2 - Sum_X * Sum_X);
Я видел несколько похожих вопросов, но они более сложные. Я пытаюсь сократить этот пример до простейшей ситуации, чтобы я мог понять ответ :) Вот так близко, как я понял... но MYSQL жалуется на синтаксис около: 'плавать)) AS Sum_X, SUM(CAST( LOGENTRY.DATE как число с плавающей запятой) * CAST(LOGENTRY.DATE'
SELECT
COUNT( * ) AS N,
SUM( CAST( LOGENTRY.DATE AS FLOAT ) ) AS Sum_X,
SUM( CAST( LOGENTRY.DATE AS FLOAT ) * CAST( LOGENTRY.DATE AS FLOAT ) ) AS Sum_X2,
SUM( LOGENTRY.COST ) AS Sum_Y, SUM( LOGENTRY.COST * LOGENTRY.COST ) AS Sum_Y2,
SUM( CAST( LOGENTRY.DATE AS FLOAT ) * LOGENTRY.COST ) AS Sum_XY
FROM LOGENTRY