最大员工小时的MySQL子查询

时间:2013-04-01 21:25:16

标签: php mysql subquery

我有一个名为“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)))

过去几个小时已经证明没有结果,我需要一些新的想法。

1 个答案:

答案 0 :(得分: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

See the demo