B-18Plus: ORDER BY --> mehrere Tabellenfelder (+negativer Bereich)

Abnd,
ich möchte eine Ausgabe aus einer Tabelle machen wo der Inhalt nach mehreren Tabellenfeldern geordnet ist. Soweit kein Problem:

"SELECT * FROM tabelle08_09 ORDER BY punkte DESC, diff DESC"

Das Problem nun ist aber, dass es sich bei der "diff" um die Tordifferenz handelt. Wenn diese positiv ist, ist das kein Problem weil durch das DESC die höchste zuerst angezeigt wird.
Nun gibt es aber auch negative Tordifferenzen bei denen die ganze Sache dann leider falsch herum ist. Wenn ich nun DESC weglasse sind die positiven falsch und die negativen richtig ;)

Über eine Lösung des Problemes wäre ich sehr froh!!

Lg Benni

  1. Hi B-18Plus,

    Nun gibt es aber auch negative Tordifferenzen bei denen die ganze Sache dann leider falsch herum ist. Wenn ich nun DESC weglasse sind die positiven falsch und die negativen richtig ;)

    Also aktuell hast du die Tordifferenzen so geordnet: 5, 3, 0, -3, -5 (beispielsweise).
    Du hast ja nicht gesagt von welcher Sportart du redest, aber gemäß meinem Verständnis von Tordifferenz wäre das doch eigentlich korrekt, oder?

    Wie sollen die Daten denn sortiert werden? So: 5, -5, 3, -3, 0? Wenn du das möchtest, dann verwende einfach ORDER BY ABS(diff) DESC, also einfach nach dem Betrag der Tordifferenz sortieren.
    Andernfalls müsstest du vielleicht noch mal kurz erläutern, was du genau erwartest.

    Viele Grüße,
      ~ Dennis.

    1. Hoi

      Also aktuell hast du die Tordifferenzen so geordnet: 5, 3, 0, -3, -5 (beispielsweise).

      Nein eben nicht. Momentan ist es so geordnet: 5, 3, 0, -5, -3

      Es handelt sich um Fussball desshalb wäre deine Version die richtige. Ist aber nicht ;)

      Also momentan hab ich es so: "SELECT * FROM tabelle08_09 ORDER BY punkte DESC, diff DESC"

      Lg Benni

      1. Hi B-18Plus,

        Nein eben nicht. Momentan ist es so geordnet: 5, 3, 0, -5, -3

        Also momentan hab ich es so: "SELECT * FROM tabelle08_09 ORDER BY punkte DESC, diff DESC"

        Gut. Die Daten sind lexikalisch korrekt sortiert, numerisch allerdings nicht. Dann guckst du dir jetzt bitte mal an, was für einen Datentyp du für die Spalte diff verwendet hast, schaust dir anschließend im MySQL Handbuch an, was es in MySQL für Datentypen gibt und überlegst dir, ob du da nicht etwas findest, was für die Speicherung von Zahlen besser geeignet ist.

        Und dann dürfte sich dein Sortierungsproblem in Luft aufgelöst haben ;-)

        Viele Grüße,
          ~ Dennis.