Hi,
Ich habe nun folgende Query, die soweit auch funktioniert,
in einem anderen DBMS als MySQL würde sie es nicht tun. Das DBMS würde es als fehlerhaft ablehnen.
SELECT userid, eventid, dateline, MAX(dateline) AS datelinemax, val1, val2, val3
[...]
GROUP BY userid, eventid
Gruppiere immer nach *allen* Werten, die nicht aus einer Gruppenfunktion berechnet werden. Denn nur Gruppenfunktionen können auf eine Gruppe angewendet werden. Welches val1 soll denn aus den hundertsiebenundzwanzigtausenddreihundertsechsundneunzig Datensätzen gewählt werden, die in der Gruppe einer userid und eventid bestehen?
Du benötigst "GROUP BY userid, eventid, dateline, val1, val2, val3" - oder eine Änderung der SELECT-Klausel.
Der Hintergrund ist, dass ich für die gleichen Events des selben Users nur eine Ausgabe brauche und zwar die des letzten.
Definiere "letzter" in einer unsortierten Menge.
Die Ausgabe soll chronologisch absteigend erfolgen.
Nachdem Du die benötigten Datensätze selektiert hast, ist dieser Punkt trivial und, soweit ich es sehen kann, von Dir bereits gelöst.
Ich hoffe, ich hab es verständlich formuliert.
Nicht so, dass es eine Datenbank verstehen würde. Versuche es noch mal präziser.
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes