Avatar billede rudi1234 Nybegynder
11. juni 2004 - 18:20 Der er 10 kommentarer

Statistik - order by dag

Jeg har følgende tabel der logger ip og dato på besøgende:

CREATE TABLE `hits` (
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `ip` varchar(20) NOT NULL default ''
) TYPE=MyISAM;

Jeg vil gerne trække en visning ud hvor den sorterer først på dag (men IKKE på tidspunkt) og dernæst på IP. Fx så jeg kan skrive denne liste ud:

22-05-2004 162.0.0.1
25-05-2004 162.0.0.2
30-05-2004 162.0.0.5
01-06-2004 162.0.0.1
12-06-2004 162.0.0.1

Hvordan skal det så lyde?

"select * from hits order by ...?"
Avatar billede elskermad.dk Nybegynder
11. juni 2004 - 18:23 #1
date ASC, ip ASC
Avatar billede rudi1234 Nybegynder
11. juni 2004 - 18:31 #2
Jeg fik ikke nævnt at det ikke skal være order by, men nok nærmere group by. Problemet er at den skal opfatte disse to tidspunkter som ens:

date1 = 2004-12-05 12:00:00
date2 = 2004-12-05 16:00:00

Pointen er at når den opfatter dem som ens, så træder næste "group" i kraft; dvs. så sorterer den på IP.

Resultatet er at
Avatar billede elskermad.dk Nybegynder
11. juni 2004 - 18:33 #3
group by date order by date
Avatar billede elskermad.dk Nybegynder
11. juni 2004 - 18:34 #4
øhhh hov vist ikke helt godt ;D men prøv lige at forklare det engang til hehe
Avatar billede rudi1234 Nybegynder
11. juni 2004 - 18:35 #5
glemte resten:


... Resultatet skal være at IPerne har flere hits om dagen, så udskrives der kun én linje for hver enkelt ip dagligt.
Avatar billede elskermad.dk Nybegynder
11. juni 2004 - 18:35 #6
ehmn jeg tror ikke at du kan sætte dem til at opfattes som det samme eller grupperes i mysql-queryen, men en masse der ved mere en mig så vent til de kloge kommer
Avatar billede rudi1234 Nybegynder
11. juni 2004 - 18:36 #7
"group by date order by date"... :o)

ja, men den skal ikke gruppere efter dato med tidspunkt, men kun "day"-delen af date-feltet.

Det er lidt kryptisk..!
Avatar billede sukos Juniormester
12. juni 2004 - 07:12 #8
Nemmeste er da vist at du laver et nyt felt, hvor du lægger tiden. I det nuværende datetime felt, skal så  være et date felt.
Avatar billede rudi1234 Nybegynder
12. juni 2004 - 09:20 #9
Ja, det tænkte jeg også..., men jeg holder lige spm. åbent lidt endnu... (jeg tager i øvrigt på ferie en uge frem, så jeg kan ikke svare før søndag...)

:o)
Avatar billede skyum Nybegynder
01. august 2004 - 17:32 #10
Prøv at skrive group by day(date) order by date, jeg har lige lavet en tilsvarende med et datetime felt, hvor jeg benyttede month(date)
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

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