1
差异值我有以下表格:确定与翻转
id | location_id | datetime | value1 | value2
---------------------------------------------------------
1 | 123 | 2014-09-01 00:00:00 | 10000 | 5000
2 | 123 | 2014-09-01 00:05:00 | 15000 | 10000
3 | 123 | 2014-09-01 00:10:00 | 20000 | 15000
4 | 123 | 2014-09-01 00:15:00 | 25000 | 20000
5 | 123 | 2014-09-01 00:20:00 | 5000 | 1000
6 | 123 | 2014-09-01 00:25:00 | 10000 | 5000
.....
99 | 123 | 2014-09-01 23:55:00 | 90000 | 30000
100 | 123 | 2014-09-02 00:00:00 | 95000 | 35000
x | 123 | 2014-09-02 00:05:00 | 100000 | 40000
.....
x | 999 | 2014-09-01 00:00:00 | 50000 | 30000
x | 999 | 2014-09-01 00:05:00 | 55000 | 35000
列将随时增加对于给定的LOCATION_ID,当滚动发生,除了值(在这种情况下,值再次从零开始)
该表格每隔5分钟将有一行数百个不同的location_id。 请注意,从值为5开始的值列中存在翻转。
我希望获得每个location_id的每个值的列值的差异,给定一组日期(ex/2014-08-01 - 2014年9月1日)。
要获得2014-09-01日期的location_id 123的所需值,我需要考虑翻转。这将是(用value1为例):
90000 (row id 99 - ending value) + 25000 (row id 4 - rollover value) - 10000 (row id 1 - starting value) = 105000
结果会是这个样子:
location_id | date | value1 | value2
------------------------------------------
123 | 2014-09-01 | 105000 | 45000
123 | 2014-09-02 | 90000 | 50000
123 | 2014-09-03 | 70000 | 35000
999 | 2014-09-01 | 100000 | 90000
999 | 2014-09-02 | 80000 | 60000
999 | 2014-09-03 | 70000 | 50000
这一结果将显示每个LOCATION_ID每天差异,在每个指定的日期查询。
关于如何攻击这个的任何想法?
这很好,谢谢。我添加了重复部分来说明value2的相同处理过程,并且效果很好。 – krunchyklown 2014-09-29 16:19:27