Verschiedene Bedingungen - Bestenliste

  • Grüß euch!


    Ich komme grade nicht weiter.


    Ein Plugin von einen Server erstellt mir automatisch eine Datenbank, die z.b. nach einigen Spielen so aussieht:
    [TABLE='class: grid, width: 500']

    [tr]


    [td]

    owner

    [/td]


    [td]

    wins

    [/td]


    [td]

    loses

    [/td]


    [td]

    knockouts

    [/td]


    [td]

    games

    [/td]


    [td]

    score

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [td]

    2

    [/td]


    [td]

    1004

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    1

    [/td]


    [td]

    2

    [/td]


    [td]

    999

    [/td]


    [/tr]


    [tr]


    [td]

    P3

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    999

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [td]

    2

    [/td]


    [td]

    1004

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    1

    [/td]


    [td]

    2

    [/td]


    [td]

    999

    [/td]


    [/tr]


    [tr]


    [td]

    P3

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    999

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    3

    [/td]


    [td]

    0

    [/td]


    [td]

    5

    [/td]


    [td]

    3

    [/td]


    [td]

    1009

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [td]

    1

    [/td]


    [td]

    3

    [/td]


    [td]

    997

    [/td]


    [/tr]


    [/TABLE]



    Jetzt will ich auf meiner Webseite das letzte Spiel von jedem Spieler ausgeben.
    Dabei hätte ich folgendes versucht:




    Nur leider gibt das Script mir folgendes aus, warum weiß ich leider nicht ^^ (deswegen frage ich ja, wie man dass anstellt, das das richtige rauskommt):[TABLE='class: grid, width: 500']

    [tr]


    [td]

    Spieler

    [/td]


    [td]

    Punkte

    [/td]


    [td]

    Spiele gespielt

    [/td]


    [td]

    Gewonnen

    [/td]


    [td]

    Verloren

    [/td]


    [td]

    Gegner hinausgeworfen

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    1004

    [/td]


    [td]

    2

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    999

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    1

    [/td]


    [/tr]


    [tr]


    [td]

    P3

    [/td]


    [td]

    999

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [/tr]


    [/TABLE]


    Es sollte aber lauten:
    [TABLE='class: grid, width: 500']

    [tr]


    [td]

    Spieler

    [/td]


    [td]

    Punkte

    [/td]


    [td]

    Spiele gespielt

    [/td]


    [td]

    Gewonnen

    [/td]


    [td]

    Verloren

    [/td]


    [td]

    Gegner hinausgeworfen

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    1009

    [/td]


    [td]

    3

    [/td]


    [td]

    3

    [/td]


    [td]

    0

    [/td]


    [td]

    5

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    997

    [/td]


    [td]

    3

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [td]

    1

    [/td]


    [/tr]


    [tr]


    [td]

    93

    [/td]


    [td]

    997

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [/tr]


    [/TABLE]



    Hoffentlich kann mir jemand helfen :)


    mfg
    weini

  • MAX liefert dir hier den höchsten Wert.

    Code
    1. [COLOR=#000000][COLOR=#0000BB]$sql [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"SELECT owner, MAX(score) AS score, games, wins, loses, knockouts FROM `HeavySpleef_Statistics` GROUP BY owner"[/COLOR][COLOR=#007700];[/COLOR][/COLOR]
  • Nono so meinte ich es nicht :) (und oben steht auch was anderes^^)
    Das letzte Spiel jedes Spielers sollte ausgegeben werden :)
    Das mit MAX() wusste ich schon und habe ich auch bei anderen Tabellen benützt.



    mfg weini

  • Wenn ich jetzt

    PHP
    1. SELECT owner, score, MAX(games) as games, wins, loses, knockouts FROM `HeavySpleef_Statistics` GROUP BY owner

    benutzte, dann kommt auch nicht das gewünschte Ergebnis raus:


    [TABLE='width: 500']

    [tr]


    [td]

    Spieler

    [/td]


    [td]

    Punkte

    [/td]


    [td]

    Gespielt

    [/td]


    [td]

    Gewonnen

    [/td]


    [td]

    Verloren

    [/td]


    [td]

    Knocukouts

    [/td]


    [/tr]


    [tr]


    [td]

    P3

    [/td]


    [td]

    999

    [/td]


    [td]

    3

    [/td]


    [td]

    0

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [/tr]


    [tr]


    [td]

    P2

    [/td]


    [td]

    999

    [/td]


    [td]

    3

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [td]

    1

    [/td]


    [/tr]


    [tr]


    [td]

    P1

    [/td]


    [td]

    1004

    [/td]


    [td]

    3

    [/td]


    [td]

    2

    [/td]


    [td]

    0

    [/td]


    [td]

    3

    [/td]


    [/tr]


    [/TABLE]


    Wenn ich es jetzt richtig verstehe, nimmt es die höchste Anzahl von Spielen her (also das letzte) und dann bei den anderen das erste Vorkommen her. -> Falsch ;(
    mfg
    weini

  • Kenne die Daten nicht die in der Tabelle stehen. Aber laut Handbuch gibt max den letzten Datensatz, also einen kompletten Eintrag in der Zeile raus für den der Maxwert zutrifft.


    Also entweder P1 hat nur 1004 Punkte oder was anderes stimmt nicht, worauf ich im Moment nicht komme.


    Die Spiele gibt es ja nur ein mal pro Spieler in der Tabelle oder?


    EDIT:lass dir doch mal alles ausgeben was games=3 hat.


    SELECT * FROM `HeavySpleef_Statistics` WHERE games=3

  • Die Daten in der Tabelle stehen ganz oben (die erste)
    Nei leider nicht, ich weiß nicht ob es ein Bug ist, aber jedes mal, nachdem 30 min vergangen sind (oder der Server gestoppt wird), schreibt das Plugin alle Spiele hinein, was gespielt worden sind (siehe 1. Tabelle, Post1)


    mfg
    weini

  • Najo nicht ganz :)
    Wennst du jetzt schaust:
    Bei den beiden wo games = 2 is, da ist überall alles auch gleich. (Erste Zeile == 4. Zeile) also ist mir das eigentlich egal welches er von denen ausgibt.
    Nur ich brauche immer nur das letzte Spiel jedes Spielers.

  • Das letzte Spiel? also sozusagen zeitlich gesehen?


    Dann müsstest du am besten ein Datum oder Timestamp für die Spiele haben.


    Die Datenbank ist so aufgebaut, dass für jedes Spiel ein neuer Wert in die datenbank eingetragen wird, in dem dann die kumulierten Ergebnisse es Spielers stehen, ist das richtig?


    Deine Abfrage müsste also im prinzip dieses ergebnis liefern:
    für jeden Spieler die wins, loses, knockouts
    aus dem eintrag mir der höchsten anzahl an spielen

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • sry, war die tage nicht da :)


    aber warum das alter table ?


    SELECT *
    FROM HeavySpleef_Statistics
    ORDER BY wins DESC
    GROUP by owner

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!