Avatar billede hoppe11 Nybegynder
15. august 2009 - 22:59 Der er 2 kommentarer og
1 løsning

gruppering over tid (facebook)

hvordan er det muligt at gruppere et resultat over tid?

hvis man f.eks. kun vil returnere den seneste nye række indenfor hver 3. time?

altså man skal gruppere alle resultater 3 timer tilbage

det skal bruges i en række UNION's
Avatar billede windcape Praktikant
15. august 2009 - 23:38 #1
Utestet:

GROUP BY (TIMESTAMPDIFF(HOUR,tid,NOW()) <= 3)
Avatar billede hoppe11 Nybegynder
16. august 2009 - 00:11 #2
jeg tænkte nu mere på noget som ikke talte 3 timer tilbage fra nu, men fra den seneste række..

hvis den seneste række er en time gammel og der grupperes 3 timer tilbage.. dernæst findes næste række udenfor intervallet igen og først fra den første række som der stødes på grupperes der igen 3 timer tilbage..

dvs. så intervallet ikke nødvendigvis ser sådan her ud:
<=3
>3 && <=6
>6 && <=9
etc.

men at det kunne se sådan her ud:
>1 && <=4
>6 && <=9
>15 && <=18

eks.

id | tid (i timer)
------------
1 | -1 // grp 1
2 | -2 // grp 1
3 | -3 // grp 1
4 | -6 // grp 2
5 | -8 // grp 2
6 | -15 // grp 3
7 | -17 // grp 3

hvis du er med på hvad jeg mener? :)
Avatar billede hoppe11 Nybegynder
18. august 2009 - 17:01 #3
lukker
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