Herbert R.: GROUP BY Problem mit Anzeige des letzten Datensatzes

Beitrag lesen

Hallo,

ich habe folgendes Problem, bei dem ich hoffe, dass ihr mir helfen könnt.

In einer Abfrage möchte ich Datensätze, die unmittelbar hintereinander folgen und in verschiedenen Feldern (userid, eventid, value1-3) identisch sind, gruppieren. In dem angezeigten Datensatz, soll er mir aber immer den Wert aus dem letzten Eintrag anzeigen (lt. dateline den akutellsten Datensatz)

Ich habe nun folgende Query, die soweit auch funktioniert, mir jedoch bei den Feldern value1, value2 und value3 nicht den Inhalt des letzten, sondern eines anderen Datensatzes aus den Dubletten ausgibt. Das Datum des letzten erhalte ich ja über MAX. Ich habe mysql 4.

SELECT userid, eventid, dateline, MAX(dateline) AS datelinemax, val1, val2, val3
FROM db
GROUP BY userid, eventid
ORDER BY datelinemax DESC

Der Hintergrund ist, dass ich für die gleichen Events des selben Users nur eine Ausgabe brauche und zwar die des letzten. Die Ausgabe soll chronologisch absteigend erfolgen.

Ich hoffe, ich hab es verständlich formuliert.

Danke im voraus.