MySQL-Sortierung
Georg
- datenbank
Hallo,
ich stehe vor der wunderschönen Aufgabe das eine Artikelliste aus einer Datenbank erzeugt werden soll. Diese Listen sollten sortierbar nach Preis, Marke (jw. auf-/absteigend) usw. sein. Bis hierhin kein Problem. Nun sollen aber Artikel, die KEINEN Preis haben, immer zuletzt kommen. Bei der Vorauswahl "Preis, Absteigend" ja automatisch so, aber wie soll ich das bei den anderen Sortierungen machen? Da die Ergebnisse auch per LIMIT auf verschiedene Seiten aufgesplittet werden, scheidet der Umweg die Ergbnisse in einem Array zu sortieren ja auch aus (da müsste ich ja alle ergebnisse haben...). Habe ich nur einen Denkfehler oder gibt es hierfür eine sinnvolle Lösung?
Gruss Georg
Tach!
Bis hierhin kein Problem. Nun sollen aber Artikel, die KEINEN Preis haben, immer zuletzt kommen.
Du kannst ein zusätzliches Sortierkriterium einfügen, dass bei vorhandenem Preis 0 ergibt und bei keinem Preis eine 1.
ORDER BY IF(preis, 0, 1), deine sortierung
dedlfix.
Tach!
Bis hierhin kein Problem. Nun sollen aber Artikel, die KEINEN Preis haben, immer zuletzt kommen.
Du kannst ein zusätzliches Sortierkriterium einfügen, dass bei vorhandenem Preis 0 ergibt und bei keinem Preis eine 1.
ORDER BY IF(preis, 0, 1), deine sortierung
dedlfix.
Hallo dedlfix, oh Mann, Danke! Da hätte ich aber selber drauf kommen können... Vielen Dank nochmal! Gruss Georg
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
ja!
Tach!
Bis hierhin kein Problem. Nun sollen aber Artikel, die KEINEN Preis haben, immer zuletzt kommen.
Du kannst ein zusätzliches Sortierkriterium einfügen, dass bei vorhandenem Preis 0 ergibt und bei keinem Preis eine 1.
ORDER BY IF(preis, 0, 1), deine sortierung
wobei man sauber darauf achten sollte, ob der Preis 0,00 oder NULL ist
Spirituelle Grüße Euer Robert