CURDATE()
возвращает только дату. Поэтому, когда вы делаете DATE_SUB(CURDATE(), INTERVAL 1 HOUR)
, вы возвращаете эквивалент 23: 00: 00 Вчера
Кажется, для того, что вы пытаетесь сделать, было бы лучше использовать NOW()
.
Вы можете попробовать следующий запрос:
SELECT sum(count) AS total, sum(status) AS is_completed
FROM `tasks` WHERE `staff_id` = '$datas[$i]'
AND `time` > DATE_SUB(NOW(), INTERVAL 1 HOUR)