I min statistik så mäter jag tiden som en användare har besökt en länk och när besökaren klickar på en ny länk läggs den gamla tiden + gamla link_id:t i en ny insert för den länken osv...
Nu vill jag skapa en select-sats som grupperar på sessionid och sorterar efter visitdate och summerar den totala tiden som sessionid (besökaren) varit på webbplatsen och även hur många länkar som man besökt, jag vill även bara ta med de senaste 100 besökarna i statistiken...
typ:
SELECT top 100 sessionid,count(sessionid),user_agent,http_referer, sum(page_time) FROM tbl_linkstats Group by sessionid order by visitdate desc
sitter med boken sql på 3 veckor, men tycker inte att group by fungerar enl. exemplen. Är access annorlunda tro ?
Det enda jag tror du behöver göra är att lägga till de kolumner du väljer ut, som inte är aggregerade (heter det så?), i din group by.
SELECT TOP 100 sessionid, Count(sessionid), user_agent, http_referrer, sum(page_time)
FROM tbl_linkstats
GROUP BY sessionid, user_agent, http_referrer, visitdate
ORDER BY visitdate DESC
Vad jag inte förstår riktigt är att jag vill ju ha unika session i varje post, alltså gruppera dessa. Tar jag med fler i group by så får ju flera poster samma sessionid ???
select count(*),sum(form_page_id_time),sessionid
from tbl_linkstatus
where cdate(visitdate) in
(select top 100 cdate(vistidate)
from tbl_linkstatus
order by cdate(visitdate) desc)
group by sessionid