Ok, ihr habt recht. Eigentlich brauche ich nur val1-3 in die GROUP BY mit aufnehmen. Das Problem ist nur, dass ich dateline nicht mit aufnehme, denn dateline ist ein Timestamp und hier soll eben immer nur die letzte Aktivität angezeigt werden (deshalb der zusätzliche MAX).
D.h. ich habe jetzt folgende Query ausprobiert. Auf den ersten Blick funtioniert sie (hoffe ich).
SELECT userid, eventid, dateline, MAX(dateline) AS datelinemax, val1, val2, val3
FROM db
GROUP BY userid, eventid, val1, val2, val3
ORDER BY datelinemax DESC
D.h. bei gleichen Aktivitäten eines Users (userid, eventid und val1-3 müssen übereinstimme) soll in der Liste immer nur ein Datensatz mit dem Timestamp (dateline) des letzten angezeigt werden.
Macht das obige "Ding" nach Eurer Meinung jetzt was ich möchte?
Danke im voraus.