Java 使用不同的时间戳更正增量值

Java 使用不同的时间戳更正增量值,java,sql,algorithm,Java,Sql,Algorithm,首先,我为标题感到抱歉。我不知道回答这个问题的最好方法是什么。任何关于更好标题的建议都是好的 我有一个包含以下数据的数据库: ID UP TIMESTAMP ---------- ---------- -------------------- 2 1 2016/01/01 00:00:00 3 2 2016/01/01 01:00:00 4

首先,我为标题感到抱歉。我不知道回答这个问题的最好方法是什么。任何关于更好标题的建议都是好的

我有一个包含以下数据的数据库:

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)

这是正确计算的,我可以得出如下信息:

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

问题在于,时间戳在同一时间段内没有分开,因此图形在某种程度上具有误导性,因为相同长度的值之间可能有不同的小时数。所以我的问题是,是否有任何算法(java或SQL)可以帮助我修复数据,从而使每个值之间的间隔具有相同的时间范围


谢谢

假设最小时差
(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
然后可以使用此表绘制图形。时间戳将以恒定的时间帧分隔