2013-06-12 77 views
-3

所以我有程序降耗工作的開始和結束時間到,像這樣一個數據庫:PHP工人小時計算

id worker_id     start      end 
1351   7 2013-06-26 08:00:00  2013-06-26 17:00:00 

它單獨保存TE時間的每一天,我需要做的就是讓工作工作人員在一段時間內設置爲一個表格,例如一個月。

任何想法?

+0

聽起來很簡單,你到目前爲止嘗試過什麼? –

+0

可能重複的[如何獲得在PHP中的時間差在幾分鐘](http://stackoverflow.com/questions/365191/how-to-get-time-difference-in-minutes-in-php) – Baba

+0

我知道時間差的部分,我沒有得到的是如何同時計算多個條目 – user2446928

回答

0

SUM() + TIMESTAMPDIFF()功能:

SELECT 
    `worker_id`, SUM(TIMESTAMPDIFF(HOUR, `start`, `end`)) as `total` 
FROM 
    `table` 
WHERE 
    (`start` BETWEEN 'period-start-date' AND 'period-end-date') 
    AND 
    (`end` BETWEEN 'period-start-date' AND 'period-end-date') 
GROUP BY 
    `worker_id`; 

考慮加入WHERE子句限制日期。

+0

這看起來不錯,會嘗試。 – user2446928

+0

正是我需要的,很棒的工作,謝謝你破壞! – user2446928

+0

@ user2446928,歡迎您。 – BlitZ