Ditt tillstånd
WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'
Ganska mycket försäkrar att de enda poster som kommer att finnas kvar är var
tStart = tEnd = '2011-04-04'
Det säger sig självt att DATEDIFF mellan dem ger 0, för en totalsumma av 0. Faktum är att DATEDIFF ignorerar tidsdelen, så du måste använda TIMEDIFF + TIME_TO_SEC
SELECT SUM(TIME_TO_SEC(TIMEDIFF(tEnd, tStart))/60)
FROM tasks
WHERE tStart >= '2011-04-04' AND tEnd <= adddate('2011-04-04', interval 1 day)
Lägg märke till ändringen av WHERE-satsen. Om du försöker säga, startade när som helst idag och slutade när som helst idag, bör intervallet vara (redan antar start
WHERE tStart >= '2011-04-04'
AND tEnd < adddate('2011-04-04', interval 1 day)
Du kan hårdkoda den till 2011-04-05, men med <
(mindre än) och att lägga till en dag till slutgränsen är vad jag visar här.