Avatar billede cara-mint Nybegynder
25. oktober 2007 - 14:27 Der er 7 kommentarer og
1 løsning

Udregninger i SELECT sætning

Jeg har en database med følgende værdier

Brugernavn | login_tid  | sidste_sidevisning_tid
-----------+------------+-----------------------
Kalle      | 1180088964 | 1180088972
Søren      | 1180073839 | 1180073888
Kalle      | 1180065665 | 1180065666
Kalle      | 1180080008 | 1180080888


Nu kunne jeg så godt tænke mig at finde ud af hvor lang tid "Kalle" har brugt på min hjemmeside.

Er der nogen der kan hjælpe mig med at lave en sql SELECT sætning som regner dette ud?

Den skal altså tage "login_tid" og fratrække "sidste_sidevisning_tid" for alle linierne hvor "Kalle" er brugernavn, og så summere det hele op.
Avatar billede fennec Nybegynder
25. oktober 2007 - 14:30 #1
select sum(sidste_sidevisning_tid - login_tid), brugernavn from dinTable group by brugernavn
Avatar billede fennec Nybegynder
25. oktober 2007 - 14:31 #2
Kan også lige smide et alias på usdegningen så den er nemmere at udtrække i dit program:

select sum(sidste_sidevisning_tid - login_tid) as brugtTid, brugernavn from dinTable group by brugernavn
Avatar billede cara-mint Nybegynder
25. oktober 2007 - 14:46 #3
Super! Tak fennec, du har så rigeligt fortjent dine point. Smid et svar.

Kan du evt. også fortælle mig hvordan jeg regner brugtTid om til antal hele timer/minutter? Lige nu står det jo i det noget specielle php format.
Avatar billede fennec Nybegynder
25. oktober 2007 - 14:56 #4
Er værdien i sek eller min??
Avatar billede fennec Nybegynder
25. oktober 2007 - 14:59 #5
Det er desuden nemmere at gøre i dit programmeringssprog, så hvad brogrammere du i (PHP, ASP, C#...)
Avatar billede cara-mint Nybegynder
25. oktober 2007 - 14:59 #6
Det er sekunder. Jeg bruger PHP.
Avatar billede fennec Nybegynder
25. oktober 2007 - 15:16 #7
Kender desværre ikke meget til PHP, så det er nok bedre at stille ?'et i den kategori:
http://www.eksperten.dk/spm/Programmering/Script/PHP/

Men ud fra et scrip herfra:
http://www.eksperten.dk/spm/707580

Har jeg lavet dette. Det er dog kun til min og sek. Jeg kan sikkert godt få timer på også hvis du vil have det. Værdien fra databasen skal så bare indsættes i stedet for 1234:

$sec = 1234;
$min = intval($sec/60);
$sec = $sec%60;
print $min.":".$sec."
Avatar billede cara-mint Nybegynder
25. oktober 2007 - 17:37 #8
Det er helt perfekt - ud fra dit script fik jeg selv lavet resten.
Tusind tak for hjælpen!! =)
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