3
我有一个现有的查询,每天为每个员工分配总小时数。我需要在每个员工的两个给定日期之间获得总小时数。所以基本上我需要总结每个员工的小时数列。 这里是我现有的查询,让每天总计:如何使用mysql从子查询中总计总和
SELECT CONCAT(pe.first, ' ', pe.last) AS Name,
tp.EmpID AS 'Empl ID',
DATE_FORMAT(tp.PunchDateTime, '%m-%d-%Y') AS 'Punch Date',
TRUNCATE(
( SUM(UNIX_TIMESTAMP(PunchDateTime) * (1 - 2 * `In-Out`))
/3600),
2)
AS 'Hours Worked'
FROM timeclock_punchlog tp
LEFT JOIN
prempl01 pe
ON tp.EmpID = pe.prempl
WHERE tp.PunchDateTime >= '2013-5-26'
AND tp.PunchDateTime < '2013-6-1'
GROUP BY date(PunchDateTime), EmpID
ORDER BY EmpID ASC
,并让这样的输出:
Name Empl ID Punch Date Hours Worked
TERESA A. EUBANKS 0354 05-29-2013 0.00
TRACY D CURTIS 0364 05-28-2013 6.15
TRACY D CURTIS 0364 05-29-2013 0.00
KENT KADAVY 0452 05-31-2013 2.38
JANE M SMITH 0456 05-31-2013 0.02
JANE M SMITH 0456 05-29-2013 0.01
JANE M SMITH 0456 05-28-2013 3.15
CINDY JEAN ARREY 0458 05-28-2013 8.16
基本上我想要一个查询,将上面的输出和显示的总和每个员工的工作时间。我不需要显示每天工作的时间。
谢谢! Mike
这应有助于:http://dev.mysql.com/doc/refman/5.5/en/group-by-modifiers.html – CBroe
加入一些SUM(),并添加一个'WEEKOFYEAR(punchdatetime)对群组来说? –
好吧,日期是任意的。他们可能会跨越数周或数天。 – dmikester1