[Mysql] Totaal van timediff
Michael -
02/02/2007 22:12:00Hey 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:
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)
Welke functie moet ik hiervoor gebruiken ipv SUM?
Alvast bedankt!
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:
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)
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
20/11/2024 00:06:54Jan Koehoorn
02/02/2007 22:22:00Ik 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
SELECT
SEC_TO_TIME(SUM(TIME_TO_SEC(hier je TIMEDIFF's))) AS weektotaal
Joren de Wit
02/02/2007 22:25:00En anders zou je voor het optellen van tijden de functie ADDTIME() moeten gebruiken. Hoogstwaarschijnlijk is het niet mogelijk met SUM().
Michael -
02/02/2007 22:28:00Bedankt 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!
$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!