aufdemschlauchsteher: mysql query - order by Frage - und Logikproblem

Beitrag lesen

Hallo,

ich habe da mal zwei Fragen:

  1. MySql Statement order by - kann man das mit mathematischen Funktionen versehen und wenn ja wie? Habe in meiner Tabelle eine Spalte mit Int Werten zwischen 1 und 12 und möchte danach sortieren allerdings nicht unbedingt ab der 1 sondern z.B. ab 8 also 8 9 10 11 12 1 2 3 4 5 6 7 Bisher habe ich das so gelöst, dass ich mir per SQL Statement das Array ausgeben lasse und dieses dann via PHP umsortiere - das sollte doch auch einfacher gehen, oder?

  2. Hier stehe ich mit der Abfrage-Logik ein bisschen auf dem Schlauch - vielleicht hat einer von euch ja eine gute Idee: De facto habe ich zwei Spalten mit den Int Werten 1 - 12 also eine "von" und eine "bis" Spalte. Wie sortiere ich diese sinnvoll ?

Wieder davon ausgehend, dass 8 als Grundlage der Sortierung genommen wird: zuerst schauen welche Einträge nur bis 8 gehen dann Einträge die nur von 8 bis 8 gehen dann Einträge die von kleiner 8 bis größer 8 gehen dann Einträge die ab 8 gehen, und dies dann für alle Nummern aufsteigend Konnte ich klar machen was ich meine?

  • Eintrag 1: von 8 bis 8
  • Eintrag2: von 5 bis 9
  • Eintrag3 von 4 bis 8
  • Eintrag4: von 12 bis 8
  • Eintrag5: von 12 bis 7
  • Eintrag6: von 8 bis 10
  • Eintrag7: von 9 bis 11
  • Eintrag8 von 9 bis 9
  • Eintrag9 von 9 bis 2
  • Ausgabe: Eintrag4, Eintrag3, Eintrag1, Eintrag 2, Eintrag6, Eintrag8, Eintrag7, Eintrag9, Eintrag5

Also quasi wird sortiert nach Bereich in dem die Nummer ist, Größe des Bereichs und Position in dem Bereich - wie kann man so was logisch formulieren? Habt ihr eine besser Sortierungsmethode?

Danke und frohe Weihnachten