Avatar billede jacknet Nybegynder
28. marts 2006 - 17:39 Der er 7 kommentarer og
1 løsning

Gennemsnitligt antal hits pr time

Hey,

Jeg sidder med en tabel hvori jeg gemmer hits på et website.

Jeg vil gerne lave noget statistik med hvor mange hits der i gennemsnit har været pr time.
Så hvis fx der er registreret 2 hits i 17 time i dag, og 8 hits i 17 time i går (osv...), så skal jeg bruge gennemsnittet af hits i 17 time. Og det samme med døgnets andre 23 timer.

Håber det godt ok forklaret.

Jeg har fået lavet så jeg får returneret et samlet antal hits pr time, men jeg skal jo bruge gennemsnitet pr time...

SELECT COUNT(*) AS Hits, DATEPART(HH, Logged) AS [Hour]
FROM tblHitLog
GROUP BY DATEPART(HH, Logged)
ORDER BY DATEPART(HH, Logged) ASC
Avatar billede Slater Ekspert
28. marts 2006 - 18:10 #1
Er det så ikke nemmeste at gemme timetallet som en seperat INT i databasen, og så hive ud fra databasen med "WHERE HOUR=17" f.eks.?
Avatar billede jacknet Nybegynder
28. marts 2006 - 18:33 #2
Narhh, det vil jeg helst undgå. Jeg skal heller ikke bare bruge EN bestemt time, jeg skulle gerne have returneret alle 24 timer på en gang.

Som det her:

Hour        Hits
--------------------------------
1        2
2        1
3        2
4        3
5        2
6        1
7        8
8        21
9        25
10        38
11        37
12        22
13        23
14        29
15        29
16        31
17        24
18        19
19        18
20        25
21        23
22        14
23        9
Avatar billede arne_v Ekspert
28. marts 2006 - 18:41 #3
noget a la:

SELECT AVG(Hits) AS Avghits,Hour FROM (
SELECT COUNT(*) AS Hits, DATEPART(yyyy, Logged) AS Year,DATEPART(dy, Logged) AS Day,DATEPART(HH, Logged) AS Hour
FROM tblHitLog
GROUP BY DATEPART(yyyy, Logged),DATEPART(dy, Logged),DATEPART(HH, Logged)
) X GROUP BY Hour ORDER BY Hour ASC
Avatar billede jacknet Nybegynder
28. marts 2006 - 18:52 #4
arne:

Lige præcis! Er der noget du ikke ved? :)
Smid et svar...

Lige et par spørgsmål...

Hvad står X'et for i "X GROUP BY Hour"?

Kan det lade sig gøre at få decimaler på Avghits?
Avatar billede arne_v Ekspert
28. marts 2006 - 19:00 #5
der er meget jeg ikke ved

et svar

X er navnet paa query output fra den indre SELECT (vi bruger det ikke i dette
tilfaelde, men jeg mener at det skal angives alligevel)

er der ikke decimaler paa ?
Avatar billede arne_v Ekspert
28. marts 2006 - 19:01 #6
der er meget jeg ikke ved

et svar

X er navnet paa query output fra den indre SELECT (vi bruger det ikke i dette
tilfaelde, men jeg mener at det skal angives alligevel)

er der ikke decimaler paa ?
Avatar billede jacknet Nybegynder
28. marts 2006 - 19:06 #7
Jeg har godt nok ikke så mange records i tabellen, men af hvad jeg kan regne ud burde der være nogle med decimaler.
Avatar billede arne_v Ekspert
28. marts 2006 - 20:00 #8
jeg mener bestemt at AVG selv konverterer til decimal

men proev evt.

SELECT AVG(CAST(Hits AS FLOAT)) ...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester