Hallo,
ich starte mit PHP eine Datenbankabfrage. Die Datensätze will ich nach Zeitpunkt der Eintragung ordnen lassen. Dafür gibt es eine Spalte mit dem Typ 'datetime'. Aus verschiedenen Gründen ist es unumgänglich, dass manche Datensätze den Wert '0000-00-00 00:00:00' besitzen. Diese Datensätze werden beim Ordnen (per DESC) immer zuerst ausgegeben. Um hier eine zweite Ordnung reinzubringen habe ich folgendes angegeben:
ORDER BY 'zeit','id'
Das Problem ist jetzt, dass die Datensätze mit '0000-00-00 00:00:00' nun IMMER als erstes ausgeben werden, egal ob ich per DESC oder per ASC sortieren lasse, da anscheinend die Sortierung nach 'id' nicht zweitrangig behandelt wird.
Hier ein Beispiel:
...Order BY 'zeit','id' ASC
id| zeit
1 | 0000-00-00 00:00:00
2 | 0000-00-00 00:00:00
3 | 2009-01-01 10:00:00
...Order BY 'zeit','id' DESC
id| zeit
1 | 0000-00-00 00:00:00
2 | 0000-00-00 00:00:00
3 | 2009-01-01 10:00:00
Eigentlich müsste beim ersten Beispiel die Datensätze 1 und 2 als letztes Ausgegeben werden.
Wie löse ich das Problem?
christian