Kondisi Anda
WHERE tStart >= '2011-04-04' AND tEnd <= '2011-04-04'
Cukup banyak memastikan bahwa satu-satunya catatan yang akan tersisa adalah di mana
tStart = tEnd = '2011-04-04'
Tak perlu dikatakan bahwa DATEDIFF di antara mereka memberikan 0, untuk jumlah total 0. Faktanya, DATEDIFF mengabaikan porsi waktu, jadi Anda perlu menggunakan 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)
Perhatikan perubahan pada klausa WHERE. Jika Anda mencoba mengatakan, dimulai kapan saja hari ini dan berakhir kapan saja hari ini, maka rentangnya harus (sudah mengasumsikan mulai
WHERE tStart >= '2011-04-04'
AND tEnd < adddate('2011-04-04', interval 1 day)
Anda dapat mengkodekannya ke 05-04-2011, tetapi menggunakan <
(kurang dari) dan menambahkan satu hari ke batas akhir adalah apa yang saya tunjukkan di sini.