sql:通过sql查询得到电表的日/周/月用电量

8i9zcol2  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(609)

我有一个mysql表(称为item1),有两列:“time”[datetime]和“value”[float]。每5分钟,我的电表总电量就会被加到数据表中,如下所示:

| Time                | Value         |
| 2018-07-22 21:55:00 | 202660.199951 |
| 2018-07-22 22:00:00 | 202673.899902 |
| 2018-07-22 22:05:00 | 202684.699951 |
| 2018-07-22 22:10:00 | 202691.534534 |
| 2018-07-22 22:15:00 | 202710.334253 |

如何使用一个sql查询计算每天/每周/每月的功耗,并将结果作为新表获得。我试过:

SELECT * FROM Item1 WHERE HOUR(Time)=0 AND MINUTE(Time)=0

它给了我每个午夜的值,但是我怎么才能减去这些值呢?
谢谢你的帮助。格雷格

qf9go6mv

qf9go6mv1#

你可以使用 join :

select date(i.time), i.value, iprev.value,
       (i.value - iprev.value) as diff
from item_1 i left join
     item_1 iprev
     on date(iprev.time) = date(i.time) - interval 1 day and
        hour(iprev.time) = 0 and minute(iprev.time) = 0
where hour(i.time) = 0 and minute(i.time) = 0
group by date(i.time), i.value, iprev.value;

你会改变时间 iprev 得到周或月的差异。

相关问题