PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ORDER BY mit größerem Wert


Steef389
24.08.2007, 11:59:04
Ich habe eine MySQL-abfrage in der art:
SELECT * FROM bla ORDER BY `spalte_a` DESC, `spalte_b`DESC
spalte_a und spalte_b sind beides integerwerte.
Nun möchte ich, dass er es nicht zuerst nach spalte_a, dann nach spalte_b sortiert, sondern, nach dem größeren Wert der beiden.
Also wenn Wert in spalte_a = 15 und in spalte_b = 13, dass er die 15 zum sortieren hernimmt.

Ist dies in einer MySQL-abfrage überhaupt möglich und wenn ja, wie??

Heinrich
24.08.2007, 14:31:40
Weiß nicht, ob das in einem Statement geht. Aber du könntest vorher mit Abfragen den höchsten Wert ermitteln
$max1 = "SELECT MAX(spalte_a) FROM....
$max2 = "SELECT MAX(spalte_b) FROM....
dann die Werte vergleichen und mit einer if-Verzweigung einmal die eigentliche Abfrage so rum bzw. andersrum ausführen lassen.

Steef389
24.08.2007, 22:12:34
dann die Werte vergleichen und mit einer if-Verzweigung einmal die eigentliche Abfrage so rum bzw. andersrum ausführen lassen.
Ja, so mache ich es, wenn es nicht mit einer Abfrage geht.
Aber mal schaun, ob es vll. doch eine Lösung gibt.

rambi
24.08.2007, 22:19:39
Ich glaube, du suchst: http://dev.mysql.com/doc/refman/5.1/en/union.html

Steef389
25.08.2007, 12:30:28
Danke, das hat mir geholfen.
Das Problem ist gelöst.