mysql计算太阳能逆变器的每日kWh消耗

时间:2018-10-24 23:38:28

标签: mysql

我从太阳能逆变器中读取数据并将其存储到mysql数据库中

该表有2个字段dtime记录日期和时间,AC_Output_Apparent_Power记录当前负载(瓦特)。

我需要的是这样计算每日总电量消耗(示例):

date        kWh
2018-10-24  1.3
2018-10-10 0.700
2018-10-09 2.2

以此类推...

我尝试过:

SELECT date(dtime),hour(dtime),((avg(AC_Output_Apparent_Power) *1)/1000) as kWh 
FROM `logs` 
WHERE AC_Output_Apparent_Power > 0 
GROUP by date(dtime),hour(dtime) 
order by dtime desc 

结果是每小时消费:

date       hour     kWh     
2018-10-25  2   0.20880952
2018-10-25  1   0.23985294
2018-10-24  18  0.29619231
2018-10-23  6   0.11400000
2018-10-22  6   0.13800000
2018-10-22  2   0.13800000
2018-10-18  1   0.13800000
2018-10-16  10  0.09200000
2018-10-15  13  0.09100000
2018-10-14  21  0.13800000
2018-10-13  22  0.13700000
2018-10-13  8   0.09200000
2018-10-12  6   0.18966667
2018-10-12  5   0.17800000
2018-10-12  4   0.13800000
2018-10-10  15  0.25100000
2018-10-10  14  0.61285714
2018-10-09  18  0.13800000
2018-10-09  1   0.15150000
2018-10-04  5   0.14728947
2018-10-04  4   0.15062500
2018-10-04  3   0.14927778
2018-10-04  2   0.14958974
2018-10-04  1   0.14726744
2018-10-04  0   0.14886207

mysql表具有这些值。

注意:如您所见,我正在测试时不会定期读取数据

SELECT dtime,AC_Output_Apparent_Power FROM `logs` WHERE AC_Output_Apparent_Power > 0 order by dtime desc 


dtime                  AC_Output_Apparent_Power     
2018-10-24 18:20:25     152
2018-10-24 18:20:02     174
2018-10-24 18:19:50     174
2018-10-24 18:19:38     174
2018-10-24 18:19:26     173
2018-10-24 18:19:03     174
2018-10-24 18:18:51     154
2018-10-24 18:18:04     174
2018-10-24 18:17:53     175
2018-10-24 18:17:46     174
2018-10-24 18:17:29     175
2018-10-24 18:17:17     175
2018-10-24 18:17:05     174
2018-10-24 18:16:53     174
2018-10-24 18:16:48     174
2018-10-24 18:16:18     816
2018-10-24 18:15:54     174
2018-10-24 18:15:42     174
2018-10-24 18:15:30     852
2018-10-24 18:15:18     173
2018-10-24 18:15:07     174
2018-10-24 18:14:55     1084
2018-10-24 18:14:32     174
2018-10-24 18:14:26     173
2018-10-24 18:13:33     176
2018-10-24 18:13:21     152
2018-10-24 18:13:09     175
2018-10-24 18:12:58     174
2018-10-24 18:12:47     939
2018-10-24 18:12:37     174
2018-10-24 18:12:30     175
2018-10-24 18:11:48     815
2018-10-24 18:11:01     880
2018-10-24 18:10:49     924
2018-10-24 18:10:37     753
2018-10-24 18:10:13     154
2018-10-24 18:10:01     176
2018-10-24 18:09:50     174
2018-10-24 18:09:38     175
2018-10-24 18:09:26     176
2018-10-24 18:09:15     176
2018-10-24 18:09:03     176
2018-10-24 18:08:52     154
2018-10-24 18:08:40     176
2018-10-24 18:08:27     176
2018-10-24 18:08:16     176
2018-10-24 18:08:04     928
2018-10-24 18:07:52     176
2018-10-24 18:07:41     177
2018-10-24 18:07:29     176
2018-10-24 18:07:17     177
2018-10-24 18:06:54     178
2018-10-23 06:06:12     114
2018-10-22 06:49:01     138
2018-10-22 02:00:29     138
2018-10-18 01:47:54     138
2018-10-16 10:04:14     92
2018-10-15 13:59:27     91
2018-10-14 21:59:44     138
2018-10-13 22:01:48     137
2018-10-13 08:37:37     92
2018-10-13 08:02:43     92
2018-10-12 06:05:53     190
2018-10-12 06:05:41     190
2018-10-12 06:03:08     189
2018-10-12 05:58:59     166
2018-10-12 05:58:12     190
2018-10-12 04:31:56     138
2018-10-10 15:08:31     241
2018-10-10 15:06:34     370
2018-10-10 15:05:35     239
2018-10-10 15:03:02     154
2018-10-10 14:58:41     864
2018-10-10 14:58:16     456
2018-10-10 14:58:07     415
2018-10-10 14:57:53     545
2018-10-10 14:57:41     714
2018-10-10 14:56:43     1300
2018-10-10 14:56:22     949
2018-10-10 14:55:55     608
2018-10-10 14:55:45     522
2018-10-10 14:54:45     415
2018-10-10 14:54:34     431
2018-10-10 14:54:10     503
2018-10-10 14:53:47     506
2018-10-10 14:53:35     438
2018-10-10 14:53:23     417
2018-10-10 14:45:43     874
2018-10-10 14:45:31     442
2018-10-10 14:45:08     710
2018-10-10 14:44:19     421
2018-10-10 14:44:07     604
2018-10-10 14:40:23     736
2018-10-09 18:05:58     138
2018-10-09 01:05:55     153
2018-10-09 01:05:29     153
2018-10-09 01:05:04     152
2018-10-09 01:04:40     151
2018-10-09 01:04:13     151
2018-10-09 01:03:47     152

从瓦数到千瓦时的计算 以千瓦时(kWh)为单位的能量E等于以瓦特(W)为单位的功率P, 乘以时间段(以小时(hr)为单位)除以1000:

  

E(kWh)= P(W)×t(hr)/ 1000

如何计算每日总电量消耗而不是每小时。

任何建议都欢迎。 预先感谢。

2 个答案:

答案 0 :(得分:1)

目前尚不清楚您到底想得到什么。

但这是我的方法:

http://sqlfiddle.com/#!9/6d5bef/6

SELECT date(dtime),(SUM(AC_Output_Apparent_Power)/1000) as kW
FROM `logs` 
WHERE AC_Output_Apparent_Power > 0 
GROUP by date(dtime)
order by dtime desc ;

请提供预期结果集。

答案 1 :(得分:0)

SELECT CONVERT_TZ(`timestamp`, @@session.time_zone, '+00:00') AS `time`,
       AVG(value / 1000) as "value",
       name as "metric" -- phase / line
FROM `power` 
WHERE name IN ("PhaseA_Energy", "PhaseB_Energy", "PhaseC_Energy")
AND $__timeFilter(timestamp)
GROUP BY date_format( timestamp, '%Y-%m-%d %H' ), name