Hallo Günther,
Ja, Datum und Uhrzeit wird bei jedem Datensatz gespeichert - habe ich vergessen zu erwähnen, entschuldige bitte.
und welche MySQL-Version?
Sortierung nach DATETIME-Spalte wäre also möglich, um das herauszufinden.
Sortierung ist "irrelevant":
Beispiel:
user_id | punktzahl | zeit
----------------------------------------
1 | 2 | 12.10.2006 14:30
1 | 5 | 02.11.2006 08:40
1 | 1 | 27.04.2006 22:00
1 | 4 | 08.01.2006 14:47
2 | 5 | 17.06.2006 11:26
2 | 0 | 22.10.2006 11:26
2 | 2 | 17.12.2006 11:26
SELECT
p1.user_id,
p1.punktzahl,
p1.zeit
FROM punkte p1 -- Aliasnamen für die Tabelle punkte, auf
-- die "außen" wie "innen" zugegriffen wird
WHERE zeit = (
SELECT MAX(p2.zeit) -- Suche den neuesten Zeitpunkt
FROM punkte p2 --
WHERE p1.user_id = p2.user_id -- für jeden Benutzer
)
Ergebnis:
user_id | punktzahl | zeit
----------------------------------------
1 | 4 | 08.01.2006 14:47
2 | 2 | 17.12.2006 11:26
Ein ganz normales korreliertes Subselect, wie von mir bereits verlinkt.
Voraussetzung: MySQL 4.1 und neuer.
Freundliche Grüße
Vinzenz