我有一个MYSQL表,用于存储我家中太阳能发电的数据。我有两个逆变器设备,包括本表中的数据。为了简化,我的表结构(有说明)的相关部分是一样的东西:查找未连续存储的SQL记录之间的差异
id <auto_increment>
addr <int address of the inverter>
etotal <total generation since the device has been online>
我试图找到连续记录每个逆变器,这样我可以告诉多少能量生成之间的区别记录之间的时间段(或者我最终选择的任何时间段之间)。如果记录被持续插入,我可以这样做:
SELECT (t2.etotal - t1.etotal) AS eperiod
FROM solars AS t1, solars AS t2
WHERE t1.id+2 = t2.id AND t1.created_at >= CURDATE()
AND t1.addr = 245 AND t2.addr = 245 ORDER BY t1.id;
然而,这并不总是如人们希望的功能,而这似乎是一个糟糕的选择。我唯一的想法是选择一个带有自动递增ID的临时表,然后在该表中做类似的选择。如果可能的话,对单个查询解决方案感兴趣。
+1使用太阳能。 – Quassnoi 2011-01-26 16:29:01