Probleme beim Sortieren nach Datum

Newcomer1

Mitglied
Hallo!

Ich hab da ein Problem. Und zwar:

Ich lese aus einer mysql Datenbank verschiedene Dateien aus die einem Datum zugeordnet sind.

PHP:
$sql = mysql_query("SELECT DATE_FORMAT(datum,' %e. %c.') AS datum, id FROM termine ORDER by datum ");
usw.

So wird das ganze ausgelesen. Nun ist es aber so daß die Einträge falsch ausgegeben werden - es wir nach dem TAG geordnet.

Wie kann ich das realisieren daß es nach diesem Format YYYY-MM-TT geordnet wird aber trotzdem in TT.MM. angezeigt wird?


Danke!
 
OK, DANKE!

So hab ichs inzwischen elöst:

PHP:
mysql_query("SELECT DATE_FORMAT(datum,' %e. %c.') AS datum, id FROM termine ORDER by DATE_FORMAT(datum,'%Y-%m-%d')");


Trotzdem danke nochmal!


beste Grüße
 
Hallo,

auch wenn du es schon anders gelöst hast.

Das Problem ist nicht das DATE_FORMAT(), sondern die Tatsache, dass du in deinem ersten Query "datum" als Spalte der Tabelle benutzt hast und gleichzeitig als Alias für dein DATE_FORMAT().

Da der Alias "datum" höher priorisiert ist, ordnet er im ORDER BY dann nach dem Alias, also dem DATE_FORMAT()-String, was falsch ist. Wenn Du deinen Alias einfach anders nennst als die Tabellenspalte, brauchst du nichts weiter machen und kannst dein Statement so lassen.

Also beispielsweise:

SQL:
SELECT DATE_FORMAT(datum,' %e. %c.') AS datString, 
       id 
  FROM termine 
 ORDER by datum

Markus
 
Zuletzt bearbeitet:
Zurück