Avatar billede sevinding Juniormester
31. august 2010 - 12:38 Der er 14 kommentarer og
1 løsning

sammentælling af timer, minutter og sekunder.

Jeg har nogle felter med antal timer, minutter og sekunder jeg gerne vil lægge sammen.
I MySql'en er de opført i formattet time, eksempelvis: 22:35:42
Skulle der være en eller anden, der har en opskrift på det?
Avatar billede repox Seniormester
31. august 2010 - 14:10 #1
Avatar billede sevinding Juniormester
31. august 2010 - 15:53 #2
Hej repox.
Jeg har lidt svært ved at gennemskue hvordan det skulle kunne lægge 5t.33m 22.s sammen med 4t. 12m. 59.s eksempelvis.
Avatar billede repox Seniormester
31. august 2010 - 18:43 #3
Avatar billede sevinding Juniormester
01. september 2010 - 05:48 #4
Jeg er jo ikke en ørn til det her, for jeg havde forventet noget i retning en sum-funktion.
Der er ingen dato eller klokkeslet der skal regnes i, men blot to tal der skal lægges sammen.
Avatar billede ggxdg Nybegynder
01. september 2010 - 09:10 #5
Du skriver i toppen at det er i formatet "TIME" hvilket betyder du burde kunne bruge (hentet fra repox' link):

SELECT ADDTIME('01:00:00.999999', '02:00:00.999998');
modificeret til:
SELECT ADDTIME(celle_med_tid_1, celle_med_tid_2);

i #4 skriver du at det er 2 normale tal der skal lægges sammen:
SELECT celle1+celle2 AS c1c2sum;
Avatar billede ggxdg Nybegynder
01. september 2010 - 09:17 #6
http://dev.mysql.com/doc/refman/5.0/en/arithmetic-functions.html#operator_plus


hvis det er for en hel kolonne har mysql en SUM() funktion.

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_sum

SELECT SUM(celle_mad_tal) AS sum_cmt FROM t1 GROUP BY id_ref
Avatar billede repox Seniormester
01. september 2010 - 19:53 #7
ADDTIME() skal bruges når du vil lægge to tider sammen til en sum.

[code]SELECT ADDTIME('00:15:00', '00:30:00') AS totalTid[code]
Ovenstående vil få MySQL til at returnere et felt kaldet totalTid som indeholder strengen 00:45:00 som er summen af de to tider.
Avatar billede sevinding Juniormester
02. september 2010 - 05:30 #8
Hej igen.
Tak for svarene.
Måtte lige bruge en dag som flyttemand. Derfor ventetiden. Sorry

ggxdg: Det er en hel kolonne, det glemte jeg vist at nævne,men hvis jeg bruger " SELECT SUM(celle_mad_tal) AS sum_cmt FROM t1 GROUP BY id_ref " kommer der bare en masse tal frem som f.eks. 483487. Tallene er vist nok lagt sammen, men ikke regnet om til t. m. s.
repox: Kan man i ADDTIME trække data fra en hel kolonne tal?
Avatar billede ggxdg Nybegynder
02. september 2010 - 12:44 #9
Din sum, er det sekunder, minutter, timer, eller er det et nummer der repræsenterer en tid, i retningen af f.eks. excels konvertering af tid til tal, eller UNIXtime?
Er kollonen tal eller tider?

Sekunder:
SEC_TO_TIME(SUM(celle_med_tal))

UNIXtime:
FROM_UNIXTIME(SUM(celle_med_tal),'%h:%i:%s')

Hvis den ikke er glad for at "neste" funktionerne, kan du nok bruge et alias.
Avatar billede sevinding Juniormester
02. september 2010 - 18:24 #10
Hej ggxdg.
Kolonnen er tider, altså timer minutter og sekunder. Eks. 03:14:59 = 3 timer 14 minutter og 59 sekunder.
Sådan har jeg en hel masse forskellige tider jeg gerne vil lægge sammen for at finde en tid ialt.
Avatar billede ggxdg Nybegynder
02. september 2010 - 18:36 #11
ok...
Der er med garanti en meget bedre måde at gør det på.
Så vidt jeg kan se så skal addtime have 2 parametre, og kan nok ikke bruges til at addere resultater i en kolonne.

Mit lidt bøvlede foreslag vil der for være at convertere tiden til sekunder, lægge sekunderne sammen, og kanvertere tilbage til tid.

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(celle_med_tid))) AS tid_sum

Jeg aner altså ikke om det vil virke - og der er, som sagt, med garanti en bedre måde at gøre det på...
Avatar billede sevinding Juniormester
02. september 2010 - 19:15 #12
Hej igen ggxdg.
Så sad den lige i skabet. Så er mit sidste spørgsmål i denne omgang.
Hvordan over fører jeg pointene til dig.

det er jeg heller ikke nogen ørn til.
Avatar billede ggxdg Nybegynder
02. september 2010 - 19:21 #13
Jeg smider såmænd lige et svar, og så kan du dele point ud, men jeg syntes repox skal have halvdelen, for alt hvad der skulle til for at løse opgaven var på siden fra det første link.

Men bare vent til repox har skrevet et svar også, ellers kan du ikke dele dem.
Avatar billede sevinding Juniormester
02. september 2010 - 19:31 #14
Skal jeg så bare sætte flueben ved jer begge?
Avatar billede ggxdg Nybegynder
02. september 2010 - 19:34 #15
jeps
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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