Ver Mensaje Individual
  #4 (permalink)  
Antiguo 27/07/2011, 07:53
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: devolver la diferencia de valor entre una fila siguente

Jejeje, yo que quería que tokkaido completara la consulta por su cuenta, pero ya leocente dió la respuesta... eso era justamente lo que quería que intentaras hacer.

también podrías hacerlo así:

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     -> if ((SELECT MAX(kilometros) FROM TuTabla
  3.     -> WHERE fecha < T1.fecha) is null, 0, kilometros -
  4.     -> (SELECT MAX(kilometros) FROM TuTabla
  5.     -> WHERE fecha < T1.fecha)) kilometros_recorridos
  6.     -> FROM TuTabla T1;
  7. +-----------------------+
  8. | kilometros_recorridos |
  9. +-----------------------+
  10. |                     0 |
  11. |                   200 |
  12. |                    50 |
  13. |                   250 |
  14. |                   300 |
  15. +-----------------------+
  16. 5 rows in set (0.13 sec)

o utilizando CASE-WHEN

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     -> CASE WHEN (SELECT MAX(kilometros) FROM TuTabla
  3.     -> WHERE fecha < T1.fecha) is null THEN 0 ELSE kilometros -
  4.     -> (SELECT MAX(kilometros) FROM TuTabla
  5.     -> WHERE fecha < T1.fecha) END kilometros_recorridos
  6.     -> FROM TuTabla T1;
  7. +-----------------------+
  8. | kilometros_recorridos |
  9. +-----------------------+
  10. |                     0 |
  11. |                   200 |
  12. |                    50 |
  13. |                   250 |
  14. |                   300 |
  15. +-----------------------+
  16. 5 rows in set (0.00 sec)

Saludos
Leo.