У меня есть данные о заполнении разных резервуаров. Резервуар можно начинать заполнять в любой момент, который кажется необходимым конечному пользователю. По этим данным мне нужно рассчитать общее количество заправленного бака за день.
User ID Tank ID tank_capacity tank_percent_full server_time
XXZFR170500033 01617IJT0526Z3 1000 96 2017-05-01T02:02:23.971Z
XXZFR170500033 01617IJT0526Z3 1000 95 2017-05-01T10:58:57.691Z
XXZFR170500033 01617IJT0526Z3 1000 95 2017-05-01T14:03:36.828Z
XXZFR170500052 01617IJT0528y3 1000 95 2017-05-19T18:13:04.327Z
XXZFR170500052 01617IJT0528y3 1000 94 2017-05-19T18:27:18.657Z
XXZFR170500052 01617IJT0528y3 1000 75 2017-05-20T13:53:25.142Z
XXZFR170500052 01617IJT0528y3 1000 74 2017-05-20T17:51:54.000Z
XXZFR170500039 01617IJT0528x3 1000 66 2017-05-24T12:41:16.659Z
XXZFR170500039 01617IJT0528x3 1000 69 2017-05-24T12:54:27.501Z
XXZFR170500039 01617IJT0528x3 1000 65 2017-05-24T13:12:02.007Z
Ответ будет выглядеть так
XXZFR170500033 01617IJT0526Z3 2017-05-01 1% used 10 l
XXZFR170500052 01617IJT0526y3 2017-05-01 21% used 210 l
XXZFR170500039 01617IJT0526x3 2017-05-01 4% used 40 l
помните, что танк 01617IJT0526x3 начинался с 66, но повышался до 69, это означает, что танк наполнялся за это время, и мы должны игнорировать его, а затем, когда мы видим снижение общего процента, тогда только мы берем разницу. поэтому в наших расчетах мы возьмем только от 69 до 65