MySQL-Abfrage Ausgabe sortieren
Moin,
habe in einer MySQL-Datenbank eine Tabelle, in der Termine gespeichert sind. Diese lese ich wie folgt aus:
$sql="SELECT `datum`, `uhrzeit`, `text`, `untertitel` FROM termine ORDER BY datum ASC";
Nun werden mir die Termine ja nach Datum sortiert ausgegeben. Da ich aber gerne die Termine aus dem Jahr 2009 vor den Terminen 2008 angezeigt haben möchte, habe ich es derzeit so gemacht, daß ich mir (in PHP) die Termine in Arrays sortiere und dann diese bei der Ausgabe auslese.
Gibt es eigentlich auch irgendeine Möglichkeit, dies gleich bei der Datenbankabfrage so sortieren zu lassen?
Die Tabelle hat folgenden Aufbau:
Feld | Typ
datum | date
uhrzeit | time
...
Also, die Termine sollen nach Jahr absteigend, aber innerhalb des Jahres aufsteigend ausgegeben werden. Ist das möglich?
Kerstin
habe in einer MySQL-Datenbank eine Tabelle, in der Termine gespeichert sind. Diese lese ich wie folgt aus:
$sql="SELECT `datum`, `uhrzeit`, `text`, `untertitel` FROM termine ORDER BY datum ASC";
Nun werden mir die Termine ja nach Datum sortiert ausgegeben. Da ich aber gerne die Termine aus dem Jahr 2009 vor den Terminen 2008 angezeigt haben möchte, habe ich es derzeit so gemacht, daß ich mir (in PHP) die Termine in Arrays sortiere und dann diese bei der Ausgabe auslese.
Gibt es eigentlich auch irgendeine Möglichkeit, dies gleich bei der Datenbankabfrage so sortieren zu lassen?
Die Tabelle hat folgenden Aufbau:
Feld | Typ
datum | date
uhrzeit | time
...
Also, die Termine sollen nach Jahr absteigend, aber innerhalb des Jahres aufsteigend ausgegeben werden. Ist das möglich?
Kerstin
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98188
Url: https://administrator.de/contentid/98188
Ausgedruckt am: 23.11.2024 um 08:11 Uhr
2 Kommentare
Neuester Kommentar
Moin kerstin77,
ich bin nicht sicher, ob ich Dich richtig verstanden habe.
Wenn die Zeilen sortiert nach Datum, aber die neuesten zuerst angezeigt sollen (vom höchsten Datum an rückwärts).
Wenn die Terminreihenfolge aufsteigend bleiben soll, aber zuerst die 2009er Termine, dann die 2008er etc.
Grüße
Biber
ich bin nicht sicher, ob ich Dich richtig verstanden habe.
Wenn die Zeilen sortiert nach Datum, aber die neuesten zuerst angezeigt sollen (vom höchsten Datum an rückwärts).
$sql="SELECT `datum`, `uhrzeit`, `text`, `untertitel` FROM termine ORDER BY datum DESC";
Wenn die Terminreihenfolge aufsteigend bleiben soll, aber zuerst die 2009er Termine, dann die 2008er etc.
$sql="SELECT `datum`, `uhrzeit`, `text`, `untertitel` FROM termine ORDER BY year(datum) desc, datum ASC";
Grüße
Biber