-3

所以我让程序将工作开始和结束时间保存到数据库中,如下所示:

  id    worker_id                  start                     end
1351            7    2013-06-26 08:00:00     2013-06-26 17:00:00

它分别节省了每天的时间,我需要做的是在表格中设置的时间段内获取工人的工作时间,例如一个月。

有任何想法吗?

4

1 回答 1

0

查看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带有限制日期的子句。

于 2013-06-12T08:22:59.237 回答