22. april 2002 - 12:02Der er
6 kommentarer og 2 løsninger
10 mest besøgte sider
Hej.
Jeg har brug for at kunne vise en statistik på antal besøgende på hver enkelt side. Hver gang en bruger klikker ind på en side, tilføjes en record i min STAT tabel med pågældende sides ID (colPid).
Hvordan viser jeg de 10 mest besøgte sider, og antal hits på hver især?
Jeg er kommet lidt af vejen med nedenstående kode - dvs. den viser jo kun de 10 største ID'er, hvilket jo ikke er meningen.
Er der mon en der kan regne den ud?
--------------------- strSQL = "SELECT TOP 10 * FROM stat ORDER BY colPid DESC" objRS.Open strSQL, objConn, 3 objRS.MoveFirst
for i= 1 to 10 Response.Write "Side= " & objRS("colPid") Response.Write "Antal besøgende= " & antal objRS.MoveNext next ---------------------
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Ja, hvis der bliver klikket på siden, tilføjes en record i STAT tabellen bl.a. indeholdende pågældende sides ID. Dvs. for hver side er der en ny record for hver eneste klik. Jeg skal så have dem talt sammen, og så fundet de 10 mest besøgte sider.
skal strSQL = "SELECT TOP 10 * FROM stat ORDER BY colPid DESC" ikke være strSQL = "SELECT TOP 10 * FROM stat ORDER BY hits DESC" hits er = hvor mange gange der er klikket ind på den side
Jeg kan umiddelbart forestille mig to løsningsmuligheder...
Den første: Du laver en "SELECT DISTINCT colPid FROM stat"
Derefter kører du alle colPid igennem, og for hver af dem laver du en "SELECT COUNT(*) FROM stat WHERE colPid = " & RS("colPid")
Så skal du så lave lidt håndtering af hvert resultat.
Denne løsning kan bruges på dit system som det ser ud nu, men du skal så være forberedt på at din statistik-tabel med tiden vil blive MEGET STOR. Det ville være smartere om du omstrukturerede din statistik-tabel, så hvert id havde en enkelt række i tabellen, og en talværdi der blev skrevet en op hver gang den pågældende side blev besøgt. Derefter vil det være en smal sag at lave en "SELECT TOP 10 * FROM stat ORDER BY antalhits DESC"
Det kan laves med SQL...Hvis jeg forstår rigtig så har du en record for hver gang man har trykket på et link og ikke en rcord med et count for hver link...???
Så du skal tælle hvor mange gange et link er trykker på:
strSQL = "SELECT TOP 10 Count(stat.colPid) AS CountOfHits, stat.colPid FROM stat GROUP BY stat.colPid ORDER BY Count(stat.colPid) DESC;"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.