Avatar billede cara-mint Nybegynder
19. oktober 2007 - 11:35 Der er 3 kommentarer og
1 løsning

Gruper SELECT resultater pr. kvartal

Jeg har brug for at kunne trække noget statistik ud vedr. brugen af mit website. Det kræver kunden - og kunden har jo altid ret ;o)

Jeg har lavet nedenstående SQL query som fungerer fint:

-----------------------------------
SELECT     fe_users.name AS Navn,
    fe_users.username AS Brugernavn,
    sum(session_hit_counter) AS Sidevisninger

FROM    tx_loginusertrack_stat,fe_users

WHERE    fe_users.uid=tx_loginusertrack_stat.fe_user
AND    fe_users.usergroup=6
GROUP BY fe_users.uid
ORDER BY Sidevisninger DESC
-----------------------------------

I tabellen tx_loginusertrack_stat findes også kolonnen "session_login" som er et tidsstempel genereret af PHP time() funktionen, der giver en integer ala 1170088919.

Er der nogen der kan hjælpe mig med at udbygge min query, således at jeg får resultaterne inddelt efter årets fire kvartaler?

Resultatsiden skal altså være noget lignende:

Kvartal: 1/7-2007 - 31/9-2007
Navn    Brugernavn    Sidevisninger
test    test          3290
test2    test2          2009

Kvartal: 1/4-2007 - 31/6-2007
Navn    Brugernavn    Sidevisninger
test    test          5837
test2    test2          3939

Kvartal: 1/1-2007 - 31/3-2007
Navn    Brugernavn    Sidevisninger
test    test          3382
test2    test2          2344

Etc. etc.
Avatar billede pidgeot Nybegynder
19. oktober 2007 - 11:42 #1
Måske:

...
GROUP BY fe_users.uid, YEAR(FROM_UNIXTIME(session_login)), QUARTER(FROM_UNIXTIME(session_login))
...

...og derudover sortering på samt SELECT af disse værdier:

SELECT    fe_users.name AS Navn,
    fe_users.username AS Brugernavn,
    sum(session_hit_counter) AS Sidevisninger, YEAR(FROM_UNIXTIME(session_login)) AS Aar, QUARTER(FROM_UNIXTIME(session_login)) AS Kvartal

FROM    tx_loginusertrack_stat,fe_users

WHERE    fe_users.uid=tx_loginusertrack_stat.fe_user
AND    fe_users.usergroup=6
GROUP BY fe_users.uid, YEAR(FROM_UNIXTIME(session_login)), QUARTER(FROM_UNIXTIME(session_login))
ORDER BY YEAR(FROM_UNIXTIME(session_login)) DESC, QUARTER(FROM_UNIXTIME(session_login)) DESC, Sidevisninger DESC
Avatar billede cara-mint Nybegynder
19. oktober 2007 - 13:03 #2
Tusind tak pidgeot! Det er helt perfekt.
Kast et svar, så du kan få de velfortjente point. =)
Avatar billede pidgeot Nybegynder
19. oktober 2007 - 13:12 #3
Værsgo :)
Avatar billede dkfire Nybegynder
19. oktober 2007 - 15:56 #4
Lidt inspiration:
http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

De beskriver lidt af det du laver lige nu.
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