[Mysql] Totaal van timediff

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Michael -

Michael -

02/02/2007 22:12:00
Quote Anchor link
Hey phpers,

Vaag onderwerp maar ik zal het uitleggen.
Ik had laatst al een topic over het optellen van 2 velden en daar weer een veld vanaf trekken.
Zo is t geworden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)


Nou wil ik graag alles van 1 week bij elkaar optellen. Nou heb ik SUM() geprobeert, maar krijg ik een wat vreemde uitkomst. (wat 49.5 (49:30) moet zijn wordt 48 bijv)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT SUM(TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";


Welke functie moet ik hiervoor gebruiken ipv SUM?

Alvast bedankt!
 
PHP hulp

PHP hulp

20/11/2024 00:06:54
 
Jan Koehoorn

Jan Koehoorn

02/02/2007 22:22:00
Quote Anchor link
Ik vraag me af hoe SUM tijden optelt. Waarschijnlijk zit hem daar de fout. Misschien kan het zo:

SELECT
SEC_TO_TIME(SUM(TIME_TO_SEC(hier je TIMEDIFF's))) AS weektotaal
 
Joren de Wit

Joren de Wit

02/02/2007 22:25:00
Quote Anchor link
En anders zou je voor het optellen van tijden de functie ADDTIME() moeten gebruiken. Hoogstwaarschijnlijk is het niet mogelijk met SUM().
 
Michael -

Michael -

02/02/2007 22:28:00
Quote Anchor link
Bedankt voor je reactie Jan.

$sql = "SELECT (TIMEDIFF(TIMEDIFF(sum(tijd2), sum(tijd1)),sum(pauze))) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";
Geeft 51:10:00 wat eigenlijk 51:30 moet zijn. Raar dat ie 20 minuten mist.

Jou manier werkt inderdaad!
$sql = "SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(TIMEDIFF(tijd2, tijd1),pauze)))) AS totaal FROM data WHERE WEEK(datum, 1) = '".$week."'";

Hartstikke bedankt Jan!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.