Beiträge von UweB

    Das war es dann doch nicht so ganz, habe die Lösung aber nun gefunden.

    Mit einem Subquery muss erstmal die höchste Punktzahl des Users ermittelt werden, dann schaut das Ganze so aus:

    PS: Ist mir nicht selbst eingefallen, ich versteh davon ja kaum was, aber es klappt einwandfrei.

    Gruß,
    Uwe

    Hallo,
    gegeben ist folgende Datenbankabfrage:

    Code
    $q = "SELECT   `username`, `score`, `time`
          FROM     `highscores`
          WHERE    `nid` = '" . mysql_real_escape_string($node->nid) . "'
          ORDER BY `score` DESC
          LIMIT    0,10";

    Ausgegeben wird jeweils der Username, seine Punktezahl und das Datum, beginnend mit der höchsten Punktezahl. Soweit so richtig, leider werden die User so mehrfach ausgegeben. Ich würde gerne erreichen, dass jeder User nur einmal in der Liste auftaucht und zwar nur mit seiner höchsten Punktzahl.

    Da die Liste ja ohnehin mit der höchsten Punktzahl beginnt, sollte es am einfachsten sein, wenn Zeilen mit Usern die bereits abgefragt wurden einfach übersprungen werden, bis die Top-10 voll ist. Oder was meint ihr?

    Und wenn das der beste Weg ist, wie ist dann die Lösung?

    Gruß,
    Uwe