Ik krijg iets niet voor elkaar met mijn group by functie.
Ik heb de volgende mysql tabellen :
tabel bezoekers_session : sessionid varchar(32) PK, webid int(20)
tabel session_pageview : sessionid varchar(32) PK,languageid int(20), pageid int(20), hittime timestamp(14)
Ik wil hetvolgende bereiken :
Een query om per sessionid de eerste hit op te halen, dit geeft me de volgende query (deze is correct):
Bij de volgende query om de laatste hit van iedere sessie te registreren loopt het echter mis (hij geeft de pageid van de min weer ipv die van de max)
Hoe kan ik dit verhelpen?
Ik heb de volgende mysql tabellen :
tabel bezoekers_session : sessionid varchar(32) PK, webid int(20)
tabel session_pageview : sessionid varchar(32) PK,languageid int(20), pageid int(20), hittime timestamp(14)
Ik wil hetvolgende bereiken :
Een query om per sessionid de eerste hit op te halen, dit geeft me de volgende query (deze is correct):
PHP:
1
| SELECT sp.sessionid, pageid, MIN( hittime ) AS hittime FROM session_pageview sp, bezoekers_session bs WHERE bs.sessionid = sp.sessionid AND bs.webid = '1' AND languageid = '1' AND sp.hittime >= '20041201000000' AND sp.hittime <= '20041220000000' GROUP BY sp.sessionid |
Bij de volgende query om de laatste hit van iedere sessie te registreren loopt het echter mis (hij geeft de pageid van de min weer ipv die van de max)
PHP:
1
| SELECT sp.sessionid, pageid, MAX( hittime ) AS hittime FROM session_pageview sp, bezoekers_session bs WHERE bs.sessionid = sp.sessionid AND bs.webid = '1' AND languageid = '1' AND sp.hittime >= '20041201000000' AND sp.hittime <= '20041220000000' GROUP BY sp.sessionid |
Hoe kan ik dit verhelpen?