webForumDet fria alternativet

Antal besökare per timme

Databaser & SQLur Databashanterare & SQL

17 svar · 321 visningar · startad av Jacob

Medlem sedan dec. 2000503 inlägg
Frågan#1

Jag har en tabell som loggar besökar på min hemsida. Nu skulle jag vilja gör att sida som visat antalet besökare per timmer.

sql = "SELECT [Datum], COUNT(*) FROM tabellen GROUP BY [Datum] ORDER BY [Datum] ASC"

Denna kan man ju använda för att få ut per dag, men hur ka man göra för att få det per timme, tiden har jag inget eget fält tyvärr.

Medlem sedan dec. 200012 464 inlägg
#2
select hour(datum),count(*) from tabellen
group by hour(datum)
order by hour(datum)
Medlem sedan dec. 2000503 inlägg
#3

OK, den fungerar bra.
Nu vill jag utveckla den lite men det var svårare, jag har en kolumn som heter sessionid där sesionsid sparas. Jaf vill kunna få fram antalet unika besökare vid ett vist datum.
Har testat med

select hour(pl_datetime),count(*),pl_sessionid from pagelog
group by hour(pl_datetime)
order by hour(pl_datetime) where pl_sessionid<>pl_sessionid and date(pl_datetime) = '2002-12-13'

Men det fungerade ju inte, någon som har en tanke.

Medlem sedan dec. 200012 464 inlägg
#4

Vilken databashanterare?

Medlem sedan dec. 2000503 inlägg
#5

för tillfället access ska bli sqlserver 2000

Medlem sedan dec. 200012 464 inlägg
#6

Då går det inte att få en sql-sats som fungerar i båda.

Access:

select count(*) from
(select distinct pl_sessionid from pagelog
  where pl_datetime = #2002-12-13#))
Medlem sedan dec. 2000503 inlägg
#7

Men nu får jag ju inte för varje timme

Medlem sedan dec. 200012 464 inlägg
#8

Ville du det?

select hour(pl_datetime),count(*) from
(select distinct pl_sessionid,pl_datetime from pagelog
  where pl_datetime = #2002-12-13#))
group by hour(pl_datetime)
Medlem sedan dec. 2000503 inlägg
#9

NU kör jag sql server

Medlem sedan dec. 200012 464 inlägg
#10
select hour(pl_datetime),count( distinct pl_sessionid) 
from pagelog
  where datediff(day,pl_datetime,'2002-12-13') = 0
group by hour(pl_datetime)
Medlem sedan dec. 2000503 inlägg
#11

Kanon, det fungerar i sql server. går det att lösa i acces men en sql sats?

Medlem sedan dec. 2000503 inlägg
#12

Problemet är namligen att serven som siten ligger på har inte sql server än och det tar ett tag innan det kommer verkar det som. Så det skulle vara ql om det gick att lösa temperärt till accessen.

Medlem sedan dec. 200012 464 inlägg
#13

Har du testat frågan i min post 15:00 i Access?

Medlem sedan dec. 2000503 inlägg
#14

Japp, får inga felmess men inte några svar heller. Problemet med den är

select distinct pl_sessionid,pl_datetime from pagelog

sessionid och datetime är ju unikt hella tiden tillsammans, men jag tycket att jag bore få något svar tillbaka

Medlem sedan dec. 2000503 inlägg
#15

NU kom jag på det (tro jag)

select hour(pl_datetime),count(*) from
(select distinct pl_sessionid,pl_datetime from pagelog
  where (left(pl_datetime,10)) =  #2002-12-13#)
group by hour(pl_datetime)
Medlem sedan dec. 2000503 inlägg
#16

Det hade jag inte alls, jag lyckas att få ut sessionsidet bara en gång det blir flera gånger om. Det är subquaryn som stullar, jag vill plocka ut sessionid och datum men bara en gång per sessionid.

Medlem sedan dec. 200012 464 inlägg
#17
select hour(pl_datetime),count(*) from
(select distinct pl_sessionid,hour(pl_datetime) from pagelog
  where datediff('d',pl_datetime, #2002-12-13#) = 0)
group by hour(pl_datetime)
Medlem sedan dec. 2000503 inlägg
#18

NU ÄNTLIGEN!!

En helt dag tog det nästan

select hour(datum),count(*) from
(select max(pl_datetime) as datum, pl_sessionid from pagelog
  where left(pl_datetime,10) = #2002-12-13# group by pl_sessionid)
group by hour(datum)

Om det finns en smidigare lösning så är nu välkomna med den.

131 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)