あなたの状態
WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'
ほぼ保証 残されるレコードはどこにあるか
tStart = tEnd = '2011-04-04'
言うまでもなく、それらの間のDATEDIFFは0を返し、総計は0になります。実際、DATEDIFFは無視します。 時間部分なので、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)
WHERE句の変更に注意してください。あなたが言いたいのであれば、今日いつでも開始し、今日いつでも終了するなら、範囲は(すでに開始<終了を想定している)でなければなりません。
WHERE tStart >= '2011-04-04'
AND tEnd < adddate('2011-04-04', interval 1 day)
2011-04-05にハードコーディングできますが、<
を使用します (未満)そして、終了制限に1日を追加することが、ここで示しているものです。