MySQL最长员工工作时间的子查询


MySQL Subquery for max employee hours

我有一个名为"hours"的数据库表,它有以下字段:"employee_id" (INT), "time_on" (DATETIME), and "time_off" (DATETIME)。我想看看哪个员工一个月的工作时间最多。

我想我需要一个Subquery,但我对MySQL不是很好,我无法理解我需要的查询。我想用选择本月的所有行

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

然后,对于这些行,我想选择工作秒数最高的"employee_id"字段,使用类似的方法

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

过去的几个小时毫无结果,我需要一些新的想法。

类似的东西?

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

请参阅演示