電気メーターの値を記録するテーブルがあります
テーブルはこんな感じ
SELECT created_at, value, delta
FROM metervalues
ORDER BY created_at
2013-05-28 07:59:00 | 752105,6 | null
2013-05-28 08:14:00 | 752156,0 | null
2013-05-28 08:29:00 | 752207,2 | null
2013-05-28 08:44:00 | 752259,2 | null
2013-05-28 08:59:00 | 752312,8 | null
2013-05-28 09:14:00 | 752366,4 | null
2013-05-28 09:29:00 | 752417,2 | null
今私は消費量を計算したいので
delta(current record) = value(current record) - value(previous record)
レコードが後で追加される可能性があるため、レコード ID が必ずしも「created_at」の順序に従っているとは限りません。
現在、Ruby スクリプトを使用してデータをロードし、ループしてレコードを更新しています。これは非常に遅いです。
これはSQLダイレクトで解決できますか? カーソルを使用していくつかのサンプルを試しましたが、実際には解決策が見つかりませんでした。