18. november 2002 - 10:31Der er
5 kommentarer og 1 løsning
Udvælgelse i SQL
Hejsa,
Jeg har følg. SQL sætning i Access:
SELECT tblStats.SessionID AS AntalOfSessionID, tblLandekoder.Land FROM tblStats INNER JOIN tblLandekoder ON tblStats.UserLanguage = tblLandekoder.CodePage GROUP BY tblLandekoder.Land, tblStats.SessionID;
Værdierne i tblStats.UserLanguage kommer fra det sprog som ens browser er sat op med og tblLandekoder. Codepage er en liste med alle landekoder.
Mit problem er at den udskriver 53 rækker i stedet for at opsumere. I tabellen tblStats logger den alle sider en bruger kommer ind på og derfor findes der måske 15 røkker med den samme SessionID - denne skal selvfølgelig kun tælle for en.
Som det er nu udskriver den:
SessionID - Land 12311 - Danish 12312 - Danish 12314 - Danish 12316 - Swedish osv. osv.
Jeg ville gerne have den til at udskrive 3 - Danish 1 - Swedish
SELECT tblLandekoder.Land, count(tblStats.SessionID) as Antal FROM tblStats INNER JOIN tblLandekoder ON tblStats.UserLanguage = tblLandekoder.CodePage GROUP BY tblLandekoder.Land;
Hvad med SELECT tblLandekoder.Land, count(distinct tblStats.SessionID) as Antal FROM tblStats INNER JOIN tblLandekoder ON tblStats.UserLanguage = tblLandekoder.CodePage GROUP BY tblLandekoder.Land;
SELECT tblLandekoder.Land, count(tblStats.SessionID) as Antal FROM (select distinct SessionID,UserLanguage FROM tblStats) as tblStats INNER JOIN tblLandekoder ON tblStats.UserLanguage = tblLandekoder.CodePage GROUP BY tblLandekoder.Land;
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.