Thomas Meinike: mysql -> datum sortieren

Beitrag lesen

Hallo Max,

ich habe folgendes Problem: Ich habe in den Datensätzen einer mysql-Datenbank ein Feld Geburtstag und möchte die Datensätze jetzt danach sortieren. Das ist ja auch eigentlich kein Problem allerdings möchte ich, dass das Geburtsjahr außer Acht gelassen wird, sprich es soll zuerst nach Monat und dann nach Tag sortiert werden. Über eine einfach Verknüpfung "order by dayofmonth and month" klappt es nicht, wie kann ich soetwas realisieren?

Das sind schon die richtigen Ansaetze, nur muessen diese Funktionen auch angewendet werden. Dieses Beispiel geht von den Daten meines MySQL-Crashkurses aus:

mysql> SELECT * FROM tabelle;
+------+---------+----------+----------+------------+---------+------------+
| nr   | vorname | nachname | jahrealt | geschlecht | wohnort | geboren    |
+------+---------+----------+----------+------------+---------+------------+
|    1 | Tina    | Tiger    |       19 | w          | Berlin  | 1982-10-05 |
|    2 | Harry   | Hirsch   |       48 | m          | Köln    | 1953-07-08 |
|    3 | Karl    | Fuchs    |       25 | m          | Halle   | 1976-05-28 |
+------+---------+----------+----------+------------+---------+------------+
3 rows in set (0.06 sec)

mysql> SELECT DATE_FORMAT(geboren,'%d.%m.') AS tagmonat FROM tabelle ORDER BY MONTH(geboren), DAYOFMONTH(geboren);
+----------+
| tagmonat |
+----------+
| 28.05.   |
| 08.07.   |
| 05.10.   |
+----------+
3 rows in set (0.44 sec)

mysql>

MfG, Thomas