Avatar billede zantiago Nybegynder
29. marts 2005 - 15:41 Der er 14 kommentarer og
1 løsning

Count fra MSSQL

Hey!

Jeg skal lave en count fra min statistik-tabel, der fortæller hvor mange sessioner der har været pr. dag, opdelt på 10 dage.

Da Systemet er administration for mere end et site, skal den kun tage dem hvor Site_Id (fra databasen) er lig Site_Id (noget som står i koden)

---------------------------------------
[Statistics]
Id
Stat_Date
User_Session
---------------------------------------

Er der nogen der kan lave dette count for mig?
Avatar billede zantiago Nybegynder
29. marts 2005 - 15:44 #1
Det er naturligvis forskellige sessioner, så den samme ikke bliver talt med flere gange :o)
Avatar billede fennec Nybegynder
29. marts 2005 - 15:49 #2
Prøv denne:
set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date >= DATEADD(day, -10, getdate())")
Avatar billede zantiago Nybegynder
29. marts 2005 - 15:54 #3
Super - melder ingen fejl i hvert faldt :o)

Hvordan udskriver jeg den?
Avatar billede fennec Nybegynder
29. marts 2005 - 16:01 #4
set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date >= DATEADD(day, -10, getdate())")
response.write "antal: "& rs(0)
Avatar billede zantiago Nybegynder
29. marts 2005 - 16:05 #5
ja ok - men jeg skal have det opdelt på 10 dage:

29-03-05: 2334
28-03-05: 3246
27-03-05: 5647
osv...
Avatar billede fennec Nybegynder
29. marts 2005 - 16:20 #6
Det bliver du nød til at trække ud i et loop (her 10*10 dage tilbage):

for f=1 to 10
  tmpDateFrom = dateAdd("d",-10*f,date())
  tmpDateTo = dateAdd("d",(-10*f)+10,date())
  set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date > '"& tmpDateFrom  &"' and Stat_date<= '"& tmpDateTo &"'")
  response.write tmpDateFrom &" til "& tmpDateTo &": "& rs(0) &"<br>"
next
Avatar billede zantiago Nybegynder
29. marts 2005 - 16:25 #7
Nu er det ikke for at være besværlig :o)

Meeeen.. nu viser den de sidste 10 uger :)

Den skal bare vise det i dage, som vist i "29/03-2005 16:05:11"...
Avatar billede fennec Nybegynder
29. marts 2005 - 16:30 #8
Det er mig der ikke kan forstå noget :o)

for f=1 to 10
  tmpDateFrom = dateAdd("d",-f,date())
  tmpDateTo = dateAdd("d",-f+1,date())
  set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date > '"& tmpDateFrom  &"' and Stat_date<= '"& tmpDateTo &"'")
  response.write tmpDateFrom &" til "& tmpDateTo &": "& rs(0) &"<br>"
next
Avatar billede zantiago Nybegynder
29. marts 2005 - 16:34 #9
Nu tror jeg at den er der, men kan der ikke bare stå:

28-03-2005: 123
27-03-2005: 234
26-03-2005: 435
25-03-2005: 533
24-03-2005: 132
23-03-2005: 543
22-03-2005: 453
21-03-2005: 543
20-03-2005: 543
19-03-2005: 545

I stedet for at der er en fra og en til dato???

Der er vel ingen grund til at finde statistik fra den til den - det er vel mere hvor dato = "dato" eller lign..??
Avatar billede fennec Nybegynder
29. marts 2005 - 16:39 #10
Det må være sådan. Så er dags dato også med:

for f=0 to 9
  tmpDateFrom = dateAdd("d",-f,date())
  tmpDateTo = dateAdd("d",-f+1,date())
  set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date >= '"& tmpDateFrom  &"' and Stat_date< '"& tmpDateTo &"'")
  response.write tmpDateFrom &": "& rs(0) &"<br>"
next
Avatar billede zantiago Nybegynder
29. marts 2005 - 16:42 #11
Du er kongen :o)

Smid et svar...
Avatar billede fennec Nybegynder
29. marts 2005 - 16:43 #12
.o) <-- One Eyed Jack
Avatar billede zantiago Nybegynder
29. marts 2005 - 18:50 #13
Undskyld denne sene kommentar, men ved du hvordan jeg evt. får fat i det højeste af de 10 tal? Det skal jeg nemlig have sat lig med 100%, så jeg kan lave en lille graf :o)

Altså hvordan finder jeg den dag der har det højeste antal forskellige sessioner, og udskriver tallet???
Avatar billede fennec Nybegynder
30. marts 2005 - 08:25 #14
Det nemmeste er nok at gemme alle værdierne i et array. Det bliver så til en 3 punktsløsning (find værdier, find største, udskriv data)

dim tmpArr(9), maxValue
for f=0 to 9
  tmpDateFrom = dateAdd("d",-f,date())
  tmpDateTo = dateAdd("d",-f+1,date())
  set rs = conn.execute("select count(User_Session) from Statistics where Site_Id=1234 and Stat_date >= '"& tmpDateFrom  &"' and Stat_date< '"& tmpDateTo &"'")
  tmpArr(f) = rs(0)
next

maxValue = 0
for f=0 to 9
  if maxValue < tmpArr(f) then maxValue = tmpArr(f)
next

for f=0 to 9
  tmpDateFrom = dateAdd("d",-f,date())
  response.write tmpDateFrom &": "& tmpArr(f) &"<br>"
next
Avatar billede zantiago Nybegynder
30. marts 2005 - 11:06 #15
Du er jo gud :o) Tusind tak...
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
Kurser inden for grundlæggende programmering

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