ORDER by

morgenstern

Erfahrenes Mitglied
Ich habe folgendes Problem:

Ich habe eine Tabelle em_laender, in der die Punkte, geshcossene Tore und bekommene Tore stehen.

Es lässt sich super auslesen und per ORDER by points auch gut ordnen. Die Tordifferenz lass ich dann einfach ausrechen geschossen minus bekommen.

Jetzt möchte ich aber, dass die Tabelle zuerst ordnet nach Punkten, und bei Punktegleichheit, nach Tordifferenz.

Zurzeit schaut es so aus:
PHP:
"SELECT land, punkte, geschossen, bekommen 
FROM em_laender 
WHERE gruppe='A' 
ORDER by points DESC, scored DESC"

Nun wird aber nicht nach Differenz geordnert. Wenn ich is so mache:

PHP:
"SELECT land, punkte, geschossen, bekommen 
FROM em_laender 
WHERE gruppe='A' 
ORDER by points DESC, $diff DESC"

Sagt er mir einen Fehler, wenn die Differenz ein Minusbetrag ist. (zB.: -3)

Wie kann ich das lösen? Bin für jeden Vorschlag dankbar.

mfg morgenstern
 
"SELECT land, punkte, geschossen, bekommen
FROM em_laender
WHERE gruppe='A'
ORDER by points DESC, $diff DESC" <-- der teil is mir unbekannt
versuch mal das

ORDER by points AND $diff DESC
oder so
ORDER by points OR $diff DESC

Keine funktions garantie .. bin müde und es tut mir alles weh.

Gruß Andy
 
Du kannst nicht einfach nach der Variable $diff sortieren. Du musst schon eine Spalte oder eine Funktion angeben, die in Abhängigkeit einer oder mehrerer Spalten irgendetwas zurück gibt. Ansonsten ist die Syntax ok. Nichts mit AND oder OR!

snuu
 
Zurück