我有以下查询数据:
SELECT *
FROM MYTABLE
WHERE tagid = '65'
输出:
tagid floatvalue t_stamp
-------------------------------
65 25.51477051 1455897455214
65 35.71407318 1455897485215
65 36.05856323 1455897515215
65 35.72781372 1455897545214
65 35.99771118 1455897575215
65 35.87993622 1455897605215
65 36.23326111 1455897665215
65 35.8652153 1455897695215
65 35.73075485 1455897725216
65 35.94765472 1455897785216
65 36.36379242 1455897815217
65 35.93685913 1455897845216
65 36.64154816 1455898025219
65 36.44329071 1455898055218
65 36.07524872 1455898085219
65 36.40992355 1455898115217
65 38.13336182 1455898145217
该t_stamp
列是 Unix 的一个大整数time * 1000
。
如果机器正在运行,则此数据每约 30 秒(30,000 秒)记录一次。如果它们与前一行的时间差小于两分钟(120,000),我正在尝试查询时间差的总和。如果它大于两分钟,那么我假设机器关闭并且该行将是下一个总和的新开始时间。
我的目标是使用时间戳获得总运行时间的总和。
我完全不知道从哪里开始。我很难试图让这个解释对我有意义,更不用说你们了,如果我把它弄得一团糟,请道歉。