Avatar billede Slettet bruger
08. oktober 2009 - 00:31 Der er 4 kommentarer og
1 løsning

MySQL: Finde antal poster for hver dato

Hej eksperter,

Hvordan kan jeg lettest finde antal poster for hver dato i en MySQL-tabel? Jeg har lagret tiden for hvert entry som en int med antal sekunder fra Unix Epoch. Umiddelbart frygter jeg, at det er nødvendigt med et COUNT-kald for hvert døgn.
Avatar billede arne_v Ekspert
08. oktober 2009 - 01:23 #1
prøv;

SELECT DATE(FROM_UNIXTIME(dittidsfelt)),COUNT(*)
FROM dintabel
GROUP BY DATE(FROM_UNIXTIME(dittidsfelt))
Avatar billede Slettet bruger
08. oktober 2009 - 01:37 #2
Takker :)

Jeg har leget lidt videre med det...

SELECT DATE( FROM_UNIXTIME( `time` ) ) , COUNT( DISTINCT `ip` )
FROM `visits`
GROUP BY DATE( FROM_UNIXTIME( `time` ) )

Den finder antal unikke besøg (ét besøg per IP) for alle dage. Hvordan kan jeg få tallet for helt nye besøg - altså antal besøg per dag, hvor hvert besøgs associerede ip-værdi ikke tidligere er registreret?
Avatar billede arne_v Ekspert
08. oktober 2009 - 01:52 #3
prøv:

SELECT DATE( FROM_UNIXTIME( `time` ) ) , COUNT( DISTINCT `ip` )
FROM `visits` v1
WHERE NOT EXISTS (SELECT * FROM visits v2 WHERE v2.ip=v1.ip AND DATE( FROM_UNIXTIME(v2.`time`)) < DATE( FROM_UNIXTIME(v1.`time` )))
GROUP BY DATE( FROM_UNIXTIME( `time` ) )
Avatar billede Slettet bruger
08. oktober 2009 - 02:38 #4
Det virker - tak. Jeg skal vist læse lidt op på MySQL!
Og smid du bare et svar.
Avatar billede arne_v Ekspert
08. oktober 2009 - 02:41 #5
svar
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