Avatar billede lako Nybegynder
20. februar 2005 - 17:11 Der er 10 kommentarer og
1 løsning

SQL til sitestatistik

Hej. Jeg vil gerne finde det antal gange hver side er vist som den første side for en session. Jeg har problemer med at få defineret den rigtige SQL-sætning. tabelstrukturen er:

DROP TABLE IF EXISTS `aspcms`.`tblstatlog`;
CREATE TABLE `tblstatlog` (
  `sessionID` varchar(24) NOT NULL default '',
  `ts` datetime NOT NULL default '0000-00-00 00:00:00',
  `querystring` varchar(100) default NULL,
  `pageName` varchar(255) default NULL,
  `pageID` int(10) unsigned default NULL,
  `siteID` int(10) unsigned NOT NULL default '0',
  KEY `Indeks` (`sessionID`,`siteID`,`ts`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

med venlig hilsen
Lars Kohsel
Avatar billede arne_v Ekspert
20. februar 2005 - 18:18 #1
Jeg kan ikke lige se hvordan det kan gøres i MySQL i en enkelt query, men her
er et forslag med temporær tabel:

CREATE TEMPORARY TABLE firstpages
SELECT sessionID,MIN(ts) AS mints
FROM tblstatlog
GROUP BY sessionID;

SELECT pageName,COUNT(*)
FROM tblstatlog,firstpages
WHERE tblstatlog.sessionID=firstpages.sessionID AND tblstatlog.ts=firstpages.mints
GROUP BY pageName;
Avatar billede lako Nybegynder
20. februar 2005 - 21:45 #2
Hej Arne

Dit forslag virker i 4.0.12, men ikke i 4.1.10. Har du nogen idé om hvorfor mon ?

/Lars
Avatar billede arne_v Ekspert
20. februar 2005 - 22:10 #3
Hvad fejl får du ?
Avatar billede lako Nybegynder
21. februar 2005 - 06:45 #4
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
CREATE TEMPORARY TABLE firstpages
SELECT sessionID,MIN(ts) AS mints
FROM tb' at line 1

/Lars
Avatar billede lako Nybegynder
21. februar 2005 - 06:51 #5
Jeg kører den i et hug i Mysql Query browser i seneste version. Faktisk tror jeg at det er query browseren der giver fejlen, for det virkede fint i Mysql-front til version 4.0.13, men ikke i mysql browseren for samme server version.

/Lars
Avatar billede lako Nybegynder
21. februar 2005 - 07:29 #6
virker også når man kører det i shell'en

/Lars
Avatar billede arne_v Ekspert
21. februar 2005 - 07:53 #7
Lyder mest som Mysql Query browser har et problem med 2 SQL sætninger i
et hug !
Avatar billede lako Nybegynder
21. februar 2005 - 10:06 #8
ja, muligvis.

Jeg får en fejl: Access denied for user 'aspcms'@'%' to database 'aspcms' når jeg kører create temporary ... forespørgslen via asp.net men det fungerer fint fra mysql-front hvad kan der være galt ?
Avatar billede arne_v Ekspert
21. februar 2005 - 10:41 #9
brugernavn aspcms har nok ikke lov til at oprette temporære tabeller ...
Avatar billede arne_v Ekspert
10. april 2005 - 18:37 #10
OK ?
Avatar billede lako Nybegynder
10. april 2005 - 19:08 #11
Øh, ja jeg kan faktisk ikke huske hvordan jeg fik det til at virke, men det gør det :-)
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