Desc Limit 0, 1

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Desc Limit 0, 1

    Hallo Leute,

    folgende Geschichte:

    Ich code gerade an einem Turnierscript, 4 Gruppen a fünf Teams, die besten 2 Teams kommen ins Achtelfinale, schön und gut.

    Da es ja häufig vorkommen kann, dass es mehrere Teams mit der gleichen Punktzahl am Ende einer Vorrunde gibt, entscheidet dann das Torverhältnis.

    "SELECT teamid, matchid, goals, points FROM turnier WHERE teamid = $teamid AND matchid = $matchid ORDER BY points, goals DESC LIMIT 0, 1"

    Warum dieses Query scheitert ist mir klar, schliesslich kann ein Team in der Vorrunde viel mehr Tore geschossen haben als die beiden Gewinnerteams, die aber mehr Punkte geschafft haben.

    Ich denke ich könnte mir das irgendwie zusammenstricken und käme dann nach einem endlosen Vergleichsmaraton auf die beiden richtigen Teams, aber warscheinlich gibt es da ne viel einfachere Möglichkeit.

    Ich würde mich sehr über jeden Denkanstoss freuen.

    MfG

    kingluui

  • #2
    Warum dieses Query scheitert ist mir klar, schliesslich kann ein Team in der Vorrunde viel mehr Tore geschossen haben als die beiden Gewinnerteams, die aber mehr Punkte geschafft haben.
    mir ehrlich gesagt nicht!

    Du sortiert nach den points. und danach erst nach goals.

    t1 3 15
    t2 3 14
    t3 1 78
    t4 3 12

    sollte diese reihenfolge ergeben bei order by points, goals

    t1,t2,t4,t3

    oder sehe ich das falsch?

    Kommentar


    • #3
      Ach so, das hatte ich nicht erwähnt,

      Deine beschreibung funktioniert nur ohne DESC LIMIT 0, 1. Bei DESC LIMIT 0, 1 denkt das Query anscheinend bei goals genau wie bei points und gibt mir als zweite gefundene Möglichkeit t3 und kommt damit in Konflikt mit t1, da t3 aber in der Hierachie der Tabelle zufällig an höherer Stelle steht, bekomme ich auch t3 angezeigt, was aber leider das falsche Team ist.

      Bei den Spalten gibt es nähnlich noch die erste (id als auto incremental, primary key), vieleicht sollte ich die löschen.

      Was sagst Du?

      Kommentar


      • #4
        Ich habe das Problem soeben selbst lösen können, hier die Lösung:

        Denkfehler war der, dass ich überhaupt auf die blöde Idee mit dem DESC gekommen bin obwohlich eh nur 5 Treffer pro Gruppe erwarte, also kann ich ja das DESC vergessen und liebe das LIMIT auf 4, 1 bzw. 3, 1 erhöhen. Und siehe da, es fluppt.

        MfG

        kingluui

        Kommentar

        Lädt...
        X