Hallo Leute ich hab folgende Frage:
Ich habe eine Tabelle (ID,Name,Fach, Datum)
SO eigendlich funktioniert die Sortierung nach Datum DESC
Jetzt möchte ich aber folgendes: Wenn bei Fach nichts eingetragen ist (NULL) dann soll es mir zuerst alle anzeigen wo das FACH NULL ist und dann normal nach den DATUM weitersortieren.
jetzt habe ich folgendes angewant Order by Fach, Datum DESC
so jetzt soritert er mir aber logischerweise zuerst nach fach zuersrt NULL,1,2,3,4,..... und dann kommt das mit dem Datum durcheinander.
Soll zustand:
Also zuerst alles anzeigen wo FACH NULL ist und dann normal nach dem DAtum weiter sortieren
Gibt es da eine Lösung dies über ORDER BY zu lösen?
Vielen lieben dank für eure bemühungen
Seite 1 von 1
Mysql Order
Anzeige
#2
geschrieben 05. Dezember 2009 - 16:52
Hallo,
probiers mal so
Wenn du das Datum anders sortiert haben willst, dann musst du eben das letzte "ASC" im Code durch "DESC" ersetzen.
probiers mal so
SELECT * FROM deinetabelle ORDER BY Fach ASC, Datum ASC
Wenn du das Datum anders sortiert haben willst, dann musst du eben das letzte "ASC" im Code durch "DESC" ersetzen.
Dieser Beitrag wurde von h-a-n-n-e-s bearbeitet: 05. Dezember 2009 - 16:56
#3
geschrieben 06. Dezember 2009 - 10:35
hallo
das war mir schon klar
nur jetzt sortiert er mir zuerst alles nach FACH
also zuerst alle wo FACH 0 ist dann alle wo Fach 1 ist und dann wieder alle wo FAch 2 ist
und jeweils bei fach 1 alles nach datum dann wieder fach 2 alles nach datum...
z.b:
ID,FACH,Datum
1,0,6.12.2009
1,0,7.12.2009
1,1,6.12.2009
1,1,7.12.2009
1,2,6.12.2009
1,2,7.12.2009
es sollte aber so ausschauen: also zuerst nur nach fach solang es 0 ist dann nach datum
1,0,6.12.2009
1,0,7.12.2009
1,1,6.12.2009
1,2,6.12.2009
1,1,7.12.2009
1,2,7.12.2009
das war mir schon klar
nur jetzt sortiert er mir zuerst alles nach FACH
also zuerst alle wo FACH 0 ist dann alle wo Fach 1 ist und dann wieder alle wo FAch 2 ist
und jeweils bei fach 1 alles nach datum dann wieder fach 2 alles nach datum...
z.b:
ID,FACH,Datum
1,0,6.12.2009
1,0,7.12.2009
1,1,6.12.2009
1,1,7.12.2009
1,2,6.12.2009
1,2,7.12.2009
es sollte aber so ausschauen: also zuerst nur nach fach solang es 0 ist dann nach datum
1,0,6.12.2009
1,0,7.12.2009
1,1,6.12.2009
1,2,6.12.2009
1,1,7.12.2009
1,2,7.12.2009
#4
geschrieben 06. Dezember 2009 - 11:23
Wenn da wirklich NULL steht, dann so:
Wenn da 0 steht statt NULL, musst du das entsprechend anpassen.
MfG TO_Webmaster
SELECT * FROM deinetabelle ORDER BY IF( Fach IS NULL, NULL, Datum ), Fach
Wenn da 0 steht statt NULL, musst du das entsprechend anpassen.
MfG TO_Webmaster
The old reverend Henry Ward Beecher
called a hen the most elegant creature.
The hen pleased for that,
laid an egg in his hat.
And so did the hen reward Beecher.
called a hen the most elegant creature.
The hen pleased for that,
laid an egg in his hat.
And so did the hen reward Beecher.
#5
geschrieben 06. Dezember 2009 - 19:56
wow spitze funktioniert... vielen lieben dank an euch 2
Thema verteilen:
Seite 1 von 1