/ Forside/ Teknologi / Udvikling / SQL / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
At regne tiden ud fra 2 felter i MySQL ?
Fra : PlopFun
Vist : 281 gange
100 point
Dato : 11-11-03 11:27

Hej alle i klogere hoveder

Jeg har et felt i min MySql der hedder "dato" hvor der sættes time() ind når man submit'er i mit php script.(altså et unix timestamp)
Lad os siger jeg nu har 3 Inserts i min DB med hver deres forskellige dato i feltet "dato" og jeg så vil sammenregne hvormange timer og minutter der er imellem første og anden Insert, og udelade Insert 3 i bergningen.
Hvordan dælen gør jeg det ?
Formatere jeg det først til tt:mm:ss ?
Kan det gøres i en MySql query, f.eks med SELECT SEC_TO_TIME(SUM( osv. ?

På Forhånd tak
Svend


 
 
Kommentar
Fra : pmbruun


Dato : 11-11-03 13:42

Hvis du har en tabel T(konto, tid) skulle noget i denne retning gerne virke:

SELECT konto, max(tid) - min(tid) FROM T GROUP BY konto;

Peter

Kommentar
Fra : PlopFun


Dato : 11-11-03 15:18

pmbruun ~>

"SELECT in_,out,MAX(dato) - MIN(dato) FROM in_out GROUP BY in_";
Tak for dit indlæg, desværre løste det ikke noget for mit vedkommende. Jeg får en 0 værdi ud fra din SELECT, og det var jo ikke lige meningen

I min table har jeg in_, out, dato.
Meningen er et spædt forsøg på at "logge" login og logout, hvor jeg så skal kunne se i hvorlang tid der er imellem in og out.

/Svend

Kommentar
Fra : poulerikdahl


Dato : 02-03-04 11:05

Hej Svend

Det burde virke hvis din dato er et rigtigt date-felt :

Jeg har 6 entries her :

IN_ TO_CHAR(DATO,'DDMMYYHH24:MI:SS')
---- ---------------------------------------------------------------------------
test 020304 10:51:38
test 020304 10:51:41
test 020304 10:51:43
Nyts 020304 10:52:58
Nyts 020304 10:52:59
Nyts 020304 10:53:00

6 rækker er valgt.

SQL>

og en select in_,max(dato) - min(dato) from test group by in_;

giver :

IN_ MAX(DATO)-MIN(DATO)
---- -------------------
Nyts ,00002315
test ,00005787

SQL>

eller i sekunder :

select in_,24*60*60*(max(dato) - min(dato)) from test group by in_;

IN_ 24*60*60*(MAX(DATO)-MIN(DATO))
---- ------------------------------
Nyts 2
test 5

SQL>

Jeg ved så ikke lige hvad du har i dit out-felt ??

mvh
Poul-Erik

Du har følgende muligheder
Dette spørgsmål er blevet annulleret, det er derfor ikke muligt for at tilføje flere kommentarer.
Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407831
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste