所以我让程序将工作开始和结束时间保存到数据库中,如下所示:
id worker_id start end
1351 7 2013-06-26 08:00:00 2013-06-26 17:00:00
它分别节省了每天的时间,我需要做的是在表格中设置的时间段内获取工人的工作时间,例如一个月。
有任何想法吗?
查看SUM()
+TIMESTAMPDIFF()
函数:
SELECT
`worker_id`, SUM(TIMESTAMPDIFF(HOUR, `start`, `end`)) as `total`
FROM
`table`
WHERE
(`start` BETWEEN 'period-start-date' AND 'period-end-date')
AND
(`end` BETWEEN 'period-start-date' AND 'period-end-date')
GROUP BY
`worker_id`;
考虑添加WHERE
带有限制日期的子句。