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