我有一个名为“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)))
过去几个小时已经证明没有结果,我需要一些新的想法。
答案 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