Hallo !
Ich probiere schon seit einiger Zeit an einer Query rum, aber mir will so langsam nichts mehr einfallen, wie ich das am besten lösen kann:
DB Tabelle
|session_start|session_time|session_name|session_logged|
--------------------------------------------------------------------------------
timestamp | timestamp | usrname1 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname2 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname2 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname1 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | gast | 0 |
Nun die Abfrage :
$ols_query_4 = "SELECT session_start,session_time, session_name FROM db_tbl";
$ols_query_4 .= "WHERE session_logged='1' GROUP BY session_name ORDER BY sessiontime ,session_level";
Hmm, nun das Problem - ich möchte jeweils, wenn ich die Daten nach namen gruppiert hab, das immer der Datensatz (mit dazugehörigem namen) mit der neuesten timestamp (session_time) als wert zurückgegeben wird. Wie stelle ich das an ?
BSP: usrname2 -> aktuellste session_time von usrname2
ich hoffe man versteht was ich meine ^^
mfg
paddy
Ich probiere schon seit einiger Zeit an einer Query rum, aber mir will so langsam nichts mehr einfallen, wie ich das am besten lösen kann:
DB Tabelle
|session_start|session_time|session_name|session_logged|
--------------------------------------------------------------------------------
timestamp | timestamp | usrname1 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname2 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname2 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | usrname1 | 1 |
--------------------------------------------------------------------------------
timestamp | timestamp | gast | 0 |
Nun die Abfrage :
$ols_query_4 = "SELECT session_start,session_time, session_name FROM db_tbl";
$ols_query_4 .= "WHERE session_logged='1' GROUP BY session_name ORDER BY sessiontime ,session_level";
Hmm, nun das Problem - ich möchte jeweils, wenn ich die Daten nach namen gruppiert hab, das immer der Datensatz (mit dazugehörigem namen) mit der neuesten timestamp (session_time) als wert zurückgegeben wird. Wie stelle ich das an ?
BSP: usrname2 -> aktuellste session_time von usrname2
ich hoffe man versteht was ich meine ^^
mfg
paddy
Moderator
, als Ergebnis wirst du irgendwann eine Antwort von mrhappiness finden, die genau das macht, was du haben willst
), deshalb komm ich auch nicht weiter wenn ich versuche die Abfrage umzubauen. hmm, ich versteh einfach nicht, wie man mit einer LEFT JOIN Abfrage einen GROUP BY Befehl ersetzen soll bzw. fehlt mir da der Ansatz, wie man das anstellt. hmm, verdammt schwierig...

Kommentar