Tengo una tabla que contiene los resultados agregados con marcas de tiempo - lo que significa cada resultado por unidad de tiempo es el total hasta el momento:MySQL - encontró diferencia entre las filas de la misma tabla
date | time | ip | result
---------------------------------------
2011-03-01 | 10:00 | 10.0.0.1 | 200
2011-03-01 | 11:00 | 10.0.0.1 | 303
2011-03-01 | 12:00 | 10.0.0.1 | 415
2011-03-01 | 13:00 | 10.0.0.1 | 628
2011-03-01 | 10:00 | 10.0.0.2 | 198
2011-03-01 | 11:00 | 10.0.0.2 | 234
2011-03-01 | 12:00 | 10.0.0.2 | 373
2011-03-01 | 13:00 | 10.0.0.2 | 512
Estoy tratando de formular una consulta que tendra los deltas entre cada intervalo de tiempo:
date | time | ip | diff
---------------------------------------
2011-03-01 | 10:00 | 10.0.0.1 | 200
2011-03-01 | 11:00 | 10.0.0.1 | 103
2011-03-01 | 12:00 | 10.0.0.1 | 112
2011-03-01 | 13:00 | 10.0.0.1 | 213
2011-03-01 | 10:00 | 10.0.0.2 | 198
2011-03-01 | 11:00 | 10.0.0.2 | 36
2011-03-01 | 12:00 | 10.0.0.2 | 139
2011-03-01 | 13:00 | 10.0.0.2 | 139
...
De modo que cada fila por cada agrupación de fecha/IP resta el anterior (o 0). ¿Alguna manera simple de hacer esto? Gracias.
Es posible que desee dar más detalles sobre cómo se maneja el cambio de fecha. ¿El resultado comienza desde cero todos los días o comienza desde cero solo al comienzo del archivo? – vbence
¿Qué sucede si hay un punto de datos a las 11:00 y no hay 10:00, solo 09:00 o ninguno antes de ese día? –