我有许多连接到PLC(可编程逻辑控制器)的电表。
PLC在24小时内对电表的kWh脉冲进行计数(积分)。
计数在午夜重置。
当前计数值每秒记录到一个表中。
我需要在每15分钟内取回一度计的总kWh。
例如:
Meter count at 11:00:00 = 1000
Meter count at 11:14:59 = 1110
Meter count at 11:29:59 = 1200
Meter count at 11:59:59 = 1400
15分钟kWh总计:
At 11:14:59 = 110
At 11:29:59 = 90
At 11:59:59 = 200
基本上,我想从前15分钟的周期中减去15分钟的周期。
该数据库是MSSQLServer。
是否可以使用选择查询返回以上内容。
我需要将此数据导出到一个csv文件。
我认为CTE和自我加入足以达到预期的结果:
--constructing ID
WITH vPLC as (select *, ROW_NUMBER() OVER (order by date) as recID
from @PLC
)
select vPLC.*, COALESCE( vPLC.value - n.Value, 0 ) as diffVal
from vPLC
left JOIN vPLC n on n.recID = vPLC.recID - 1
----------OUTPUT----------
recId date value diffVal
1 6/5/2014 11:00:00 AM 1000 0
2 6/5/2014 11:14:59 AM 1110 110
3 6/5/2014 11:29:59 AM 1200 90
4 6/5/2014 11:59:59 AM 1400 200
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句