「DATE」と「COST」というフィールドを持つ LOGENTRY という単純なテーブルがあります。例:
+--------------+-------+
| DATE | COST |
+--------------+-------+
| MAY 1 2013 | 0.8 |
| SEP 1 2013 | 0.4 |
| NOV 1 2013 | 0.6 |
| DEC 1 2013 | 0.2 |
+--------------+-------+
時間の経過に伴う COST フィールドの傾き (選択された行の範囲) を見つけたいと思います。その結果、SLOPE=-0.00216 になります (これは、Excel の SLOPE 関数、別名線形回帰に相当します)。
COST の勾配を選択する簡単な方法はありますか? 呼び出し言語 (php) で計算すると、次のように勾配を見つけることができます。
SLOPE = (N * Sum_XY - Sum_X * Sum_Y)/(N * Sum_X2 - Sum_X * Sum_X);
同様の質問が投稿されているのを見ましたが、より複雑です。私はこの例を最も単純な状況に落とし込もうとしています-答えを理解できるように:)これは私が得た限り近いものです...しかしMYSQLは構文について不平を言います: 'float)) AS Sum_X, SUM(CAST( LOGENTRY.DATE as float) * 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