Hi,
ich habe ein Problem mit meiner Select Abfrage, die Daten werden nicht so angezeigt wie ich es möchte! Es handelt sich dabei um ein einfaches Userhistory.
Tabellenname: `action`
Tabellenstruktur
id INT(11) PK,
list TINYINT(3),
action TINYINT(1),
timestamp VARCHAR(20),
ref TINYTEXT,
ip VARCHAR(25),
email VARCHAR(200)
In der Tabelle `action` werden bestimmte Ereignisse festgehalten, wie Anmeldung, Abmeldung etc.
Im Attribut `email` kann mehrmals die gleiche E-Mail-Adresse stehen, damit man später anhand der E-Mail anzeigen lassen kann, was der Benutzer gemacht hat.
Nun möchte ich per SQL die letzte Aktion eines Users anzeigen lassen.
Ich habe es mit diesem SQL Befehl probiert, aber die IP wird dabei nicht richtig übernommen:
SELECT `id`, `list`, `action`, MAX(`timestamp`), `ref`, `ip`, `email`
FROM `action`
WHERE list=5
GROUP BY email
id list action timestamp ref ip email
849235 | 5 | 1 | 2005-08-05 13:15 | Bestätigung | 195.3.xxx.xxx | rollixxx@xxx.xx
So weit funktioniert ja der Select , das letzte datum wird ausgegeben .
JEDOCH wird die IP von einem anderen Datensatz genommen.
Ich habe es auch schon mit MAX(id) usw ausprobiert auch ohne Erfolg, die IP wird dennoch vom anderen Datensatz angezeigt.
Wieso?
Was mache ich falsch?
ich habe ein Problem mit meiner Select Abfrage, die Daten werden nicht so angezeigt wie ich es möchte! Es handelt sich dabei um ein einfaches Userhistory.
Tabellenname: `action`
Tabellenstruktur
id INT(11) PK,
list TINYINT(3),
action TINYINT(1),
timestamp VARCHAR(20),
ref TINYTEXT,
ip VARCHAR(25),
email VARCHAR(200)
In der Tabelle `action` werden bestimmte Ereignisse festgehalten, wie Anmeldung, Abmeldung etc.
Im Attribut `email` kann mehrmals die gleiche E-Mail-Adresse stehen, damit man später anhand der E-Mail anzeigen lassen kann, was der Benutzer gemacht hat.
Nun möchte ich per SQL die letzte Aktion eines Users anzeigen lassen.
Ich habe es mit diesem SQL Befehl probiert, aber die IP wird dabei nicht richtig übernommen:
SELECT `id`, `list`, `action`, MAX(`timestamp`), `ref`, `ip`, `email`
FROM `action`
WHERE list=5
GROUP BY email
id list action timestamp ref ip email
849235 | 5 | 1 | 2005-08-05 13:15 | Bestätigung | 195.3.xxx.xxx | rollixxx@xxx.xx
So weit funktioniert ja der Select , das letzte datum wird ausgegeben .
JEDOCH wird die IP von einem anderen Datensatz genommen.
Ich habe es auch schon mit MAX(id) usw ausprobiert auch ohne Erfolg, die IP wird dennoch vom anderen Datensatz angezeigt.
Wieso?
Was mache ich falsch?