과의 차이 값을 결정 나는 다음과 같은 테이블이 있습니다롤오버
이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에 대한 증가 값은 (이 경우 값이 다시 0에서 시작)를
이 테이블에는 수백 개의 서로 다른 location_ids에 대해 5 분마다 행이 있습니다. ID 5에서 시작하는 값 열에 롤오버가 있음을 확인하십시오.
각 날짜의 값 열에 각 날짜의 차이가 나타나기를 원합니다 (예 :/2014-08-01 - 2014-09-01).
2014-09-01 날짜에 location_id 123에 원하는 값을 얻으려면 롤오버를 고려해야합니다.
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에 대한 매일의 차이를 보여줄 것이다 그것은 (예제로 사용하여 값 1)이 될 것입니다 질문.
공격 방법에 대한 아이디어가 있으십니까?
감사합니다. value2의 동일한 처리를 설명하기 위해 중복 섹션을 추가했으며 잘 작동합니다. – krunchyklown