Avatar billede plasmon Nybegynder
26. november 2004 - 12:55 Der er 9 kommentarer og
1 løsning

problemer med sql sætning

Hej jeg er igang med at lave en stat.

Jeg logger hver gang der bliver klikket på siden.

- jeg gemmer et unikt id pr besøgende (session.sessionid)
- sidens titel
- samt skræm, os, osv.

nu er det jo sådan at jeg får flere poster fra samme bruger, hvis han klikker på flere sider.

Så vil jeg gerne finde det totale antal unikke hits på siden (altså antal forskellige besøgende)

jeg vil gøre det sådan, men det virker ikke.

sql = "SELECT Count(session) AS unikke_hits FROM stat Group By session"

nogle ideer til en anden sql sætning eller en anden måde jeg kan gøre det på
Avatar billede overchord Nybegynder
26. november 2004 - 13:20 #1
SELECT session, count(session) AS unikke_hits FROM stat GROUP BY session;
Avatar billede plasmon Nybegynder
26. november 2004 - 13:30 #2
Hmm
Uspecificeret fejl i linien.

Jeg prøvede at sætte den ind i access, hvor den virkede, men den gav kun en count for de enkelte sessioner, og ikke en count over hvormange forskellige sessioner der er i databasen.
Avatar billede overchord Nybegynder
26. november 2004 - 14:19 #3
hvad sker der hvis du proever med SELECT  Sum(Count(session)) FROM stat GROUP BY session
Avatar billede plasmon Nybegynder
26. november 2004 - 15:00 #4
Nope det er det samme

Uspecificeret fejl i linien

måske man kan gøre det af to omgange.

Først isolere de forskellige session, og derefter tæller hvor mange der er forskellige???
Avatar billede plasmon Nybegynder
26. november 2004 - 15:16 #5
Jeg kiggede lige lidt videre på nettet og så denne side:

http://www.1keydata.com/sql/sqlcount.html

Få jeg prøvede med denne sætning:

SELECT COUNT(DISTINCT sessionid) FROM stat;

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "COUNT(DISTINCT sessionid)".
Avatar billede overchord Nybegynder
26. november 2004 - 17:18 #6
proev med distinct row
Avatar billede plasmon Nybegynder
26. november 2004 - 17:36 #7
Altså:  "SELECT COUNT(DISTINCT row) FROM stat"

Det giver ingen problemer, men hvordan skriver jeg det ud på skærmen.

Før ville jeg gøre sådan:

If NOT stat_DB.EOF Then
  unikke_hits = stat_DB("unikke_hits")
End If

Hvordan gør jeg så nu
Avatar billede plasmon Nybegynder
26. november 2004 - 17:39 #8
Hov var lige lidt for hurtig.

Fik følgende fejl ved den nye sql sætning.

"SELECT COUNT(DISTINCT row) FROM stat"
Error:

Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "COUNT(DISTINCT row)".
Avatar billede plasmon Nybegynder
27. november 2004 - 14:55 #9
løste problemet ved at bruge følgende script:

sql = "SELECT Distinct (u_id) as unikke_hits FROM stat Where reset = 0 ;"
        Set stat_DB = cn.execute(sql)
        unikke_hits = 0
        While Not stat_DB.EOF
        unikke_hits = unikke_hits + 1
        stat_DB.movenext
        wend
        Set stat_DB = Nothing
Avatar billede plasmon Nybegynder
27. november 2004 - 14:56 #10
hvor u_id er det som tideligere var session / sessionid
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