0

我有一个名为“小时”的数据库表,其中包含以下字段: "employee_id" (INT), "time_on" (DATETIME), and "time_off" (DATETIME). 我想看看哪个员工在一个月内记录的时间最多。

我在想我需要一个子查询,但我对 MySQL 不是很好,我无法围绕我需要的查询。我想选择本月的所有行:

"... MONTH(time_on) = ".$this_month_object->format('m')."... "

然后使用这些行,我想选择使用类似以下内容的最高秒数的“employee_id”字段:

SUM(time_to_sec(TIMEDIFF(time_off, time_on)))

过去的几个小时都被证明是徒劳的,我需要一些新的想法。

4

1 回答 1

4

像这样的东西?

SELECT employee_id, SUM(TIMEDIFF(time_off, time_on)) AS diff
FROM tbl
WHERE YEAR(time_on) = 2013
    AND MONTH(time_on) = 3
GROUP BY employee_id

查看演示

于 2013-04-01T21:27:56.743 回答