Avatar billede big_ossi Nybegynder
09. december 2010 - 11:51 Der er 5 kommentarer og
1 løsning

[MySQL] sotering af database til statistik

Hej

Jeg har en stor logfil med alle besøg.
Den vil jeg gerne have lavet en statistik side med men er i tvivl om hvordan jeg skal lave kaldet til databasen, så derfor dette indlæg som jeg håber i kan hjælpe med.

Vil gerne have en side hvor jeg kan se antal besøg i månederne fordelt på bruger id og antal logins

så jeg får noget som der sådan her ud:

Maj 2010 - brugerid_1 - antal_login
Maj 2010 - brugerid_2 - antal_login
...
...
April 2010 - brugerid_1 - antal_login
April 2010 - brugerid_2 - antal_login
...
... Osv

databasen ser sådan her ud

id (unikt autoid)
brugerid (brugerens idnummer)
time (tipspunkt for login i unix time)

Er der nogen der kan hjælpe med et kald til min mysql og output der bruger mindst cpu kræft ?
Avatar billede intenz Novice
09. december 2010 - 12:02 #1
Måske denne:

SELECT MONTH(time) AS month, brugerid, COUNT(brugerid) AS antal_login FROM din_tabel GROUP BY MONTH(time), brugerid ORDER BY MONTH(time) ASC
Avatar billede intenz Novice
09. december 2010 - 12:04 #2
Output ville så være:

$res = mysql_query("SELECT MONTH(time) AS month, brugerid, COUNT(brugerid) AS antal_login FROM din_tabel GROUP BY MONTH(time), brugerid ORDER BY MONTH(time) ASC") or die(mysql_error());
while ($row = mysql_fetch_assoc($res)) {
  echo $row['month']." - ".$row['brugerid']." - ".$row['antal_login']."<br />";
}


Husk at ændre din_tabel i kaldet til navnet på din tabel.
Avatar billede big_ossi Nybegynder
09. december 2010 - 13:49 #3
Har lige prøvet tid forslag.

Men tæller ikke ud på måned pr bruger men i alt pr bruger

så får
- 23 - 237
- 24 - 301

Som er
ialt - brugerid - antal login
Avatar billede big_ossi Nybegynder
09. december 2010 - 15:25 #4
Med FROM_UNIXTIME(time, '%Y %m') så virker det.

Tak for dit svar :)
Avatar billede intenz Novice
09. december 2010 - 17:02 #5
Ah ja, unix tid :) Troede bare det var et DATE felt. Men fint du fik fikset det :)
Avatar billede big_ossi Nybegynder
09. december 2010 - 18:16 #6
jes ;)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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