我有一个问题,我似乎无法理解,希望有人可以帮助给我一些建议。
自从在我的屋顶上安装太阳能光伏电池以来,我一直在发电,并且根据一些(相当慷慨的)激励措施来做这种事情,我每发电一千瓦时就赚钱。看到这有点像一个数据库项目,我开始编写一些 PHP/MySQL 来跟踪每日发电量,现在有近一年的每日 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 日)。
理想情况下,我希望查询能够处理多个年度边界,因此,例如,几年后,我希望能够查询迄今为止产生的绝对总收入。最终,我只想向查询传递开始和结束日期,它会返回正确的数字。