MySQL-Unterschied zwischen zwei Zeilen einer SELECT-Anweisung

Ich versuche, den Unterschied zwischen zwei Zeilen in einer MySQL-Datenbank zu machen.
Ich habe diese Tabelle mit ID, Kilometer, Datum, car_id, car_driver etc ...
Da ich die Informationen in der Tabelle nicht immer in der richtigen Reihenfolge eingebe, erhalte ich möglicherweise folgende Informationen:

ID | Kilometers | date | car_id | car_driver | ...
 1 | 100        | 2012-05-04 | 1 | 1  
 2 | 200        | 2012-05-08 | 1 | 1
 3 | 1000       | 2012-05-25 | 1 | 1 
 4 | 600        | 2012-05-16 | 1 | 1

Mit einer select-Anweisung kann ich meine Tabelle korrekt sortieren:

SELECT * FROM mytable ORDER BY car_driver ASC, car_id ASC, date ASC

Ich werde dies erhalten:

ID | Kilometers | date  | car_id | car_driver | ...  
 1 | 100        | 2012-05-04 | 1 | 1  
 2 | 200        | 2012-05-08 | 1 | 1
 4 | 600        | 2012-05-16 | 1 | 1  
 3 | 1000       | 2012-05-25 | 1 | 1

Jetzt möchte ich einen Blick darauf werfen, wo ich im Grunde diese zusätzlichen Informationen habe: Anzahl der Kilometer seit dem letzten Datum und ich möchte so etwas erhalten:

ID | Kilometers | date       | car_id | car_driver | number_km_since_last_date   
 1 | 100        | 2012-05-04 | 1 | 1 | 0  
 2 | 200        | 2012-05-08 | 1 | 1 | 100  
 4 | 600        | 2012-05-16 | 1 | 1 | 400  
 3 | 1000       | 2012-05-25 | 1 | 1 | 400

Ich dachte daran, einen INNER JOIN durchzuführen, um das zu tun, was ich wollte, aber ich habe das Gefühl, dass ich den Join für meine ID nicht ausführen kann, da sie nicht richtig sortiert sind.
Gibt es eine Möglichkeit, das zu erreichen, was ich will?

Soll ich eine Ansicht mit einer Art Zeilennummer erstellen, die ich dann in meinem INNER JOIN verwenden kann?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage