頭がよくわからないという問題があり、誰かが私にアドバイスをくれることを願っています。
家の屋根に太陽光発電セルを取り付けて以来、私は発電を続けており、この種のことを行うためのいくつかの (かなり寛大な) インセンティブに従って、発電した電力のすべての kWh に対してお金を稼いでいます。これはちょっとしたデータベース プロジェクトであると考えて、毎日の発電量を追跡するために PHP/MySQL を書き始めました。現在、ほぼ 1 年分の毎日の kWh 測定値が得られています。 -月ごとのビュー、および年ごとの (月ごとにグループ化された) グラフ。
私は現在、システムを拡張して、電力の kWh ではなく金銭で収益を表示したいと考えています。現在、この数値は kWh あたり 0.454 ポンドですが、この数値は毎年 4 月 1 日に変更されます (以前は 0.433 ポンドでした)。
これは私の現在のMySQL構造です:
Table feedin:
year (year4) rate (float)
2010 0.433
2011 0.433
2012 0.454
Table generation:
day (DATE) reading (float)
2011-12-01 7.682
2011-12-02 5.747
2011-12-03 4.982
... ...
2012-08-13 8.022
2012-08-14 19.449
2012-08-15 5.484
これに対する私の最初の試みは、PHP と MySQL のクエリが非常に混ざり合っており、ロジックの大部分が PHP で実行されているため、かなり面倒でした (私の MySQL スキルはせいぜい「制限されています」)。しかし、時間が経つにつれ、MySQL ですべてを実行できれば理想的であることがわかりました。
これに対処する方法がわかりません。私が最初に考えたのは、データの年単位のチャンク (つまり、ある年の 4 月 1 日から次の 3 月 31 日までの日付範囲) を選択し、それに適切な年率を掛ける必要があるということです。そして、その「適切な年率は、その日付範囲の開始時、つまり 4 月 1 日時点で適用される率です。」
理想的には、クエリが複数の年次境界に対応できるようにしたいので、たとえば、数年後、これまでに生み出された絶対的な総収益をクエリできるようにしたいと考えています。最終的には、クエリに開始日と終了日を渡すだけで、正しい数字が返されます。