MYSQL - Komplizierte ORDER BY Abfrage
Paul
- php
Hallo alle zusammen,
ich habe mal eine Frage:
Ich habe eine Tabelle mit den Spalten "Thementitel", "important" und "erstelldatum".
(In Important kann eine 1 für wichtig und eine 0 für unwichtig stehen).
Nun will ich alle Themen die wichtig, also important sind, als erstes anzeigen lassen. Diese Themen sollen alphabetisch nach den Thementitel geordnet sein. Die anderen "unwichtigen" Themen, die danach kommen, sollen nach "erstelldatum" geordnet werden.
Beispiel:
Thema A 1 Vor 3 Wochen
Thema B 1 Vor 6 Jahren
Thema C 1 Heute
Thema D 1 Gestern
Thema X 0 Vor einer Minute
Thema M 0 Vor zwei Minuten
Thema F 0 Vor drei Minuten
Ist das realisierbar?
Hi,
Nun will ich alle Themen die wichtig, also important sind, als erstes anzeigen lassen. Diese Themen sollen alphabetisch nach den Thementitel geordnet sein. Die anderen "unwichtigen" Themen, die danach kommen, sollen nach "erstelldatum" geordnet werden.
[...]
Ist das realisierbar?
nein, nicht mit einer einzigen Abfrage. Du kannst mit ORDER BY important,Thementitel sortieren lassen, dann hast du aber sowohl die wichtigen, als auch die nicht wichtigen Einträge in sich alphanumerisch geordnet.
Übrigens: Warum stellst du die Frage im Themenbereich PHP ein, wo es doch ganz klar eine Datenbank-Frage ist?
Ciao,
Martin
Hallo,
Ich habe eine Tabelle mit den Spalten "Thementitel", "important" und "erstelldatum".
(In Important kann eine 1 für wichtig und eine 0 für unwichtig stehen).
Nun will ich alle Themen die wichtig, also important sind, als erstes anzeigen lassen. Diese Themen sollen alphabetisch nach den Thementitel geordnet sein. Die anderen "unwichtigen" Themen, die danach kommen, sollen nach "erstelldatum" geordnet werden.
Ist das realisierbar?
ja. Am einfachsten mit einer UNION. Ein Bezug zu PHP ist nicht erkennbar.
Freundliche Grüße
Vinzenz
moin,
ja. Am einfachsten mit einer UNION. Ein Bezug zu PHP ist nicht erkennbar.
als ergänzung, geht auch auch ohne UNION ALL, mit einer zusätzlichen spalte in die ORDER BY klausel, in der bei den 1 datensätzen die Themen stehen und bei den 0 datensäten NULL. CASE oder IF wäre geeignte schlagwörter dafür.
ORDER BY important, hier_ausdruck_mit_Themen_NULL, erstelldatum
Ilja