kerstin77
Goto Top

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

Content-Key: 98188

Url: https://administrator.de/contentid/98188

Printed on: April 24, 2024 at 17:04 o'clock

Member: Biber
Biber Sep 30, 2008 at 16:04:26 (UTC)
Goto Top
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).
$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
Member: Kerstin77
Kerstin77 Sep 30, 2008 at 18:38:30 (UTC)
Goto Top
Hallo Biber,

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";  
> 

Perfekt, genau das meinte ich - vielen Dank!

Kerstin