首先,抱歉标题。我不知道回答这个问题的最佳方法是什么。任何关于更好的头衔的建议都会很好
我有一个包含以下数据的数据库:
ID UP TIMESTAMP
---------- ---------- --------------------
2 1 2016/01/01 00:00:00
3 2 2016/01/01 01:00:00
4 16 2016/01/01 03:00:00
5 32 2016/01/01 04:00:00
6 42 2016/01/01 10:00:00
7 66 2016/01/01 12:00:00
8 78 2016/01/01 15:00:00
9 100 2016/01/01 16:00:00
10 207 2016/01/01 20:00:00
UP中的值总是在增加。那么,我做的计算delta值的方法如下:
(value - lastvalue)/(timestamp - lasttimestamp)
这是正确计算的,我可以像这样绘制信息:
问题是时间戳在同一时间范围内没有分开,因此图形在某种程度上会产生误导,因为在相同长度的值之间可能会有数小时的不同。所以我的问题是,是否有任何算法(在java或SQL中)可以帮助我修复数据,因此每个值之间的差距是相同的时间帧?
谢谢!
答案 0 :(得分:0)
假设最小时差(timestamp - lasttimestamp)
为01:00:00
。
您可以像这样创建一个新的临时表:
ID UP TIMESTAMP
---------- ---------- --------------------
2 1 2016/01/01 00:00:00
3 2 2016/01/01 01:00:00
4 2 2016/01/01 02:00:00
5 16 2016/01/01 03:00:00
6 32 2016/01/01 04:00:00
7 32 2016/01/01 05:00:00
8 32 2016/01/01 06:00:00
9 32 2016/01/01 07:00:00
10 32 2016/01/01 08:00:00
11 32 2016/01/01 09:00:00
12 42 2016/01/01 10:00:00
13 42 2016/01/01 11:00:00
14 66 2016/01/01 12:00:00
15 66 2016/01/01 13:00:00
16 66 2016/01/01 14:00:00
17 78 2016/01/01 15:00:00
18 100 2016/01/01 16:00:00
19 100 2016/01/01 17:00:00
20 100 2016/01/01 18:00:00
21 100 2016/01/01 19:00:00
22 207 2016/01/01 20:00:00
然后,您可以使用此表绘制图表。时间戳将以恒定的时间帧分隔。