• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Group By mit maximalem Timestamp

yss

Mitglied
Guten Abend

Irgendwie komm ich mit dem Thema Inner-Joins noch nicht ganz klar.
Hab folgende Tabelle mit Score-Werten eines Spiels:
Bildschirmfoto%202014-05-01%20um%2023.28.58.png

Nun möchte ich zu jeder scorePlayerID die aktuellsten scorePoints rausfinden.
Mein Ansatz wäre folgender:

Code:
SELECT
  score.scorePlayerName,
  score.scorePoints,
  score.scoreTime,
  score.scoreAlive,
  score.scoreID
FROM score JOIN (
  SELECT
    t2.scoreID,
    MAX(t2.scoreTime) as scoreTime
  FROM score AS t2
  GROUP BY scorePlayerID
) t2 ON t2.scoreID = score.scoreID AND score.scoreTime = t2.scoreTime;

Allerdings bekomme ich ein leeres Ergebnis...
 
Werbung:
Code:
SELECT t.scorePlayerId, t.scoreID, t.scorePoints, r.MaxTime
FROM (SELECT scorePlayerId, MAX(scoreTime) as MaxTime
      FROM sport
      GROUP BY scorePlayerId) r
INNER JOIN sport t ON t.scorePlayerId = r.scorePlayerId AND t.scoreTime = r.MaxTime

so?
 
Warum brauchst du überhaupt ein Join, wenn du wieder auf die selbe tabelle selektiersts und sogar die ID des spielerst festgelegt ist?
Wenn du uns einen Datenbank dump zur verfügung stellst und genau sagst was du für ein ergebniss erwartest würde ich dir sonst auch bei deiner suche helfen. Sieht für mich aber aus als wenn das ganze komplizierter gemacht wird als es sein muss.
 
Werbung:
Zurück
Oben