Нужно вывести список сотрудников, которые отработали суммарно менее 8 часов в офисе от первого входа до последнего выхода. Я правильно понимаю что это возможно только через цикл?
Чтобы найти даты и id сотрудников, которые отработали от первого входа до последнего выхода меньше 8 часов в этот день, удобно group by и having использовать:
select DATE(entrance), id_employee
from t1
group by DATE(entrance), id_employee
having timestampdiff(second, min(entrance), max(exit1)) < 28800
order by DATE(entrance), id_employee
Результат:
DATE(entrance) id_employee
2018-04-28 2
modify вычитает одну дату из другой.
$now = DateTime("now");
$now->modify("-8 hour");
Общий синтаксис:
SELECT column-names
FROM table-name
WHERE column-name BETWEEN value1 AND value2
Сборка персонального компьютера от Artline: умный выбор для современных пользователей