Hallo,
ich habe eine MySQL-Tabelle, in der die beiden Spalten "datum" und "status" enthalten sind. Das Feld "status ist entweder "online", "offline" oder "Archiv". Nun möchte ich in EINER Query die Einträge mit dem Status "online" ABSTEIGEND und die Einträge mit dem Status "Archiv" AUFSTEIGEND nach dem Feld "datum" sortieren lassen.
Geht das und wenn ja, wie mache ich das?
Danke schon mal für Eure Hilfe!
Gruß,
Michael
Hallo,
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.
Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Re: MySQL: Auf- und absteigende Sortierung in EINER Query
HI,
das sollte funzen ...
via AJAX den jeweiligen Wert übergeben und
den query ausführen lassen (mit jeweiligen wert)
und anschl. zurückliefern.
(google findet folgendes)
Beispiel "select onChange"
Beispiel ajax onChange
Grz. Chris
das sollte funzen ...
via AJAX den jeweiligen Wert übergeben und
den query ausführen lassen (mit jeweiligen wert)
und anschl. zurückliefern.
(google findet folgendes)
Beispiel "select onChange"
Beispiel ajax onChange
Grz. Chris
Re: MySQL: Auf- und absteigende Sortierung in EINER Query
Hi Chris,
ähm, irgendwie verstehe ich grad nicht, wie mir Dein Vorschlag helfen soll (oder ich steh auf'm Schlauch... ).
Ich beschreib das nochmal anders: ich muss die MySQL-Abfrage so gestalten, dass in einem Durchgang die Einträge mit dem Status 'online' absteigend und die Einträge mit dem Status 'Archiv' aufsteigend nach Datum sortiert werden.
Also grob so:
So funktioniert das aber glaub ich nicht (oder?)
Danke für Deine Hilfe!
Gruß,
Michael
ähm, irgendwie verstehe ich grad nicht, wie mir Dein Vorschlag helfen soll (oder ich steh auf'm Schlauch... ).
Ich beschreib das nochmal anders: ich muss die MySQL-Abfrage so gestalten, dass in einem Durchgang die Einträge mit dem Status 'online' absteigend und die Einträge mit dem Status 'Archiv' aufsteigend nach Datum sortiert werden.
Also grob so:
Code: Alles auswählen
$sql = new rex_sql();
$sql->setQuery("SELECT * FROM " . $db_table . " WHERE 'status'='online' ORDER BY 'datum' ASC AND WHERE 'status'='Archiv' ORDER BY 'datum' DESC");
Danke für Deine Hilfe!
Gruß,
Michael
Re: MySQL: Auf- und absteigende Sortierung in EINER Query
das kannst du mit CASE machen
hab extra nen netten artikel für dich gefunden:
http://sqlandme.com/2013/11/18/sql-serv ... by-clause/
statt die 1 bzw 2 im beispiel kannst du ja datum DESC benutzen
Gruß Sysix
hab extra nen netten artikel für dich gefunden:
http://sqlandme.com/2013/11/18/sql-serv ... by-clause/
statt die 1 bzw 2 im beispiel kannst du ja datum DESC benutzen
Gruß Sysix
Re: MySQL: Auf- und absteigende Sortierung in EINER Query
Hi Sysix,
vielen Dank für Deine Hilfe - das war der Hinweis den ich brauchte!
Nach ein wenig ausprobieren war das der Code, mit dem es funzte:
Michael
vielen Dank für Deine Hilfe - das war der Hinweis den ich brauchte!
Nach ein wenig ausprobieren war das der Code, mit dem es funzte:
Gruß,$sql = new rex_sql();
$sql->setQuery("SELECT * FROM " . $db_table . " WHERE status = 'online' OR status = 'Archiv' ORDER BY CASE status WHEN 'Archiv' THEN datum END DESC, CASE status WHEN 'online' THEN datum END ASC" . $sql_limit);
Michael