[MySQL]Abfrage
-
hallo zusammen,
folgendes problem beschäftigt mich derzeit.
ich habe eine tabelle die so aufgebaut ist:id zahl_one zahl_two 0 1 0 1 5 0 2 5 10 3 4 7 4 7 0 5 15 15 6 3 0
ich möchte nun mit meinen beschränkten mysqlfähigkeiten versuchen,
ein wenig ordnung in die ausgabe zu bringen, sprich ich will die datensätze sortieren.es soll erst die größte zahl aus zahl_one ausgebenen werden, wenn aber eine zahl aus zahl_two größer ist, dann natürlich diese.
die richtige reihnfolge müßte so aussehen:
15
10
7
7
5
3
1meine abfrage ist diese hier:
SELECT * FROM zahlen ORDER BY zahl_one , zahl_two DESC !
leider funktioniert das so nicht.
würde mich über einen tipp sehr freuen.
tschau
-
So dürfte es funktionieren von der SQL-Seite her:
SELECT zahl_one AS zahl FROM zahlen WHERE zahl > zahl_two UNION SELECT zahl_two AS zahl FROM zahlen WHERE zahl > zahl_one ORDER BY zahl DESC;
Allerdings weiß ich nicht, ob das dein mysql unterstützt (speziell das UNION).
Möglicherweise könnte man das ganze noch mit einem JOIN umgehen. Wird aber sicher etwas komplizierter, wenn es überhaupt möglich ist.
-
danke AJ.
bin aber gestern noch auf einen, für mich, neuen befehl gestoßen.GREATEST
die abfrage sieht dann wie folgt aus
SELECT GREATEST( zahl_one , zahl_two ) AS MAX FROM zahlen ORDER BY MAX DESCfunktioniert wunderbar, dank für deine bemühungen.
tschau
-
Interesant was es für Funktionen gibt