GROUP BY PROBLEM -> Steh aufm Schlauch

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GROUP BY PROBLEM -> Steh aufm Schlauch

    Halli Hallo Community,

    bin neu hier aber ich hoffe das mir bei meinem ersten Problem trotzdem geholfen wird.

    Das Problem ist folgendes:
    Ich habe 2 Tabellen:
    Die erste Tabelle (logging) beinhaltet jedes ein und ausloggen eines users
    Die zweite Tabelle (userdata) beinhaltet, wie auch nicht anders zu erwarten, die userdaten (u.a das geschlecht(************)).

    Mein ziel ist es, die letzen user die sich eingeloggt auszugeben.

    Dabei häng ich an einer stelle:
    Hat sich ein user 2x ein geloggt unter den letzen 5 logins wird er auch 2x ausgegeben. Meine lösung: grop by... haut zwar hin das keine doppelten da stehen, zeigt dafür aber nicht die letzten 5 (die ordnung nach zeit haut irgendwie dann net hin!)

    Ansatz
    Code:
    "SELECT t1.username, t1.timestamp, t2.************ FROM logging t1 INNER JOIN userdata t2 USING(username) where t2.************='m' AND t1.event='AUTH: login' order by t1.timestamp desc limit 0,5 "
    mit goup by hatte ich es so

    Code:
    "SELECT t1.username, t1.timestamp, t2.************ FROM logging t1 INNER JOIN userdata t2 USING(username) where t2.************='m' AND t1.event='AUTH: login' group by t1.username order by t1.timestamp desc limit 0,5 "

    Hoffe ihr habt ne idee.

    Vielen dank für im hilfe schon im voraus

    mfg
    osterhase

  • #2
    hat sich erledigt, hab natürlich max(t1.timestamp) vergessen...

    sorry

    für alle die das in der suche finden werden:

    so muss es aussehen:
    Code:
    "SELECT t1.username, max(t1.timestamp) as zeit, t2.************ 
    FROM logging t1 
    INNER JOIN userdata t2 
    USING(username) 
    where t2.************='m' AND t1.event='AUTH: login' 
    group by t1.username 
    order by zeit desc 
    limit 0,5 "

    Kommentar

    Lädt...
    X