MySQL order by

kcyberbob

Erfahrenes Mitglied
Hi zusammen,

ich hab ein kleines Problem und zwar habe ich in einer Datenbank folgende Spalten:

Name---Zahl1---Zahl2---Zahl3---Gesamt

Hans---120---144---165---429
Max---167---120---142---429

Jetzt möchte ich alle Datensätze aus der Datenbank order by Gesamt DESC, so das die höchste Zahl ganz oben steht.
Sollten aber wie im Beispiel zwei Personen das gleich Gesamt haben, so soll geschaut werden wer das höchste bei zahl1 zahl2 oder zahl3 hat.

so in der Art order by Gesamt, (Zahl1, Zahl2, Zahl 3)

Würde mich freuen wenn mir da einer helfen könnte.

Gruß Andy
 
SQL:
ORDER BY gesammt DESC, zahl1 DESC, zahl2 DESC, zahl3 DESC
Die Priorität wird durch die reihenfolge festgelegt.

1. angabe = höchste priorität
 
Zuletzt bearbeitet von einem Moderator:
Hi,

hab es mal so umgesetzt wie du gesagt hast, aber leider ist das Ergebniss nicht das gewünschte.

Heiko und Andrea sind gleich, Andrea ist aber besser, da sie ein höheres Einzelergebniss hat.

11.Heiko 173 168 165 506
12. Andrea 172 174 160 506
 
Was genau meinst du mit Einzelergebnis? Andrea und Heiko haben beide gleiche Punktzahl, wenn man es aufsummiert. Nach welchen Spalten soll den gewichtet werden?
 
Also das Gesamt ist das was in erster Linie zählt, danach soll die Person die von allen drei Spalten (zahl1 zahl2 zahl2) das höchste hat
 
Nun, dann vielleicht so:

Code:
SELECT *, (zahl1+zahl2+zahl3) AS gesamtzahl FROM zahlen ORDER BY gesamtzahl,zahl1,zahl2,zahl3 DESC;
 
Zuletzt bearbeitet von einem Moderator:
Das ist das gleich wie oben schon geschrieben und funktioniert leider nicht.

Ahh,
wenn ich das jetzt richtig verstanden habe,
möchtest du nach den jeweils höchsten Teilergebnissen sortieren?

Da würde mir jetzt folgendes einfallen:
SQL:
SELECT * FROM `tabelle`
 ORDER BY
   `Gesammt` DESC,
   GREATEST(`zahl1`, `zahl2`, `zahl3`) DESC;

Aber Achtung:

siehe: http://dev.mysql.com/doc/refman/5.1/de/comparison-operators.html

Super vielen Dank, das ist die Lösung :)
 
Zuletzt bearbeitet von einem Moderator:
Was ist das denn für ein Vergleich? Da wird Spalte zahl1 von Heiko mit Spalte zahl3 von Andrea verglichen, und das höchste ist weiter vorn... Naja, wenn es dem entspricht, was du willst, sorry, hab ich falsch aufgefasst.
 

Neue Beiträge

Zurück