【发布时间】:2018-06-02 11:47:05
【问题描述】:
您好,我需要有关 SQL 查询的帮助。我有一个充满智能电表消耗数据的数据库表。新条目将每分钟添加到 satabase。对于前端,我想显示每日/每小时消耗图表。数据库表如下所示:
Timestamp AWATT BWATT CWATT
2018-06-01 21:33:56 13.45 4.3 2.78
2018-06-01 21:34:56 14.01 5.0 2.89
...
消耗不断增加。所以我想得到每个完整小时和处理查询的实际期间的消耗差异,只给数据库一个日期或一个月。
例如。
Timestamp AWATT BWATT CWATT
00:00 - 01:00 x y z
01:00 - 02:00 x1 y1 z1
02:00 - 02:38 x2 y2 z3
查询在 02:38 执行。
我不想在查询完成后进行计算。 MYSQL 应该为我完成这项工作。
到目前为止我有什么:
select extract(hour from timestamp) as theInterval
, awatthr
, bwatthr
, cwatthr
from value_table
where date_format(timestamp, '%d-%m-%Y') = '01-06-2018'
group
by extract(hour from timestamp)
结果:
theInterval awatthr bwatthr cwatthr
0 2955.33 10100.6 13434.8
1 2963.17 10179.6 13556.5
2 2994 10251.2 13677.3
...
22 5702 11704.5 15944.6
23 6876.93 12078.2 16213.7
这给了我每整小时的实际值,但不计算两者之间的差异。
你能帮我把缺失的部分添加到这个查询中吗?
【问题讨论】:
-
为什么您的查询没有任何聚合函数?格式不正确。