tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
245
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JayZar JayZar ist offline Grünschnabel
    Registriert seit
    Aug 2005
    Beiträge
    1
    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?
     

  2. #2
    heddesheimer heddesheimer ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    217
    Das liegt einfach daran, dass bei GROUP BY irgend ein zufälliger Datensatz gewählt wird, sofern die Spalte nicht zu den Sortierkritierien des GROUP BY gehört.

    Näheres findest du hier:
    http://www.heddesheimer.de/coaching/mysql_group.html

    Bei dem Beispiel wird zwar nach Namen gesucht, das entspricht in deinem Fall der IP. Müsstest du dann nur entsprechend umsetzen.

    Gruß Marian
     
    Weblog zum Thema Lernen: http://www.lernpilot.de/blog/
    Weblog über Internet-Programmierung: http://www.heddesheimer.de/blog/

Ähnliche Themen

  1. MySQL: SELECT-Abfrage-Problem
    Von Ruediger im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 12.05.06, 14:23
  2. Antworten: 12
    Letzter Beitrag: 03.09.05, 01:51
  3. Problem mit Umlauten bei MySQL Select
    Von BendAR im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 17.08.05, 14:01
  4. mySQL --> Etwas schwieriegers SELECT und Count Problem
    Von Geshrec22 im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 30.10.04, 15:42
  5. mysql Select-Abfrage- Problem
    Von Shiivva im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 22.04.03, 21:32