2014-07-06 49 views
0

我有這個表(例如)如何合計時間爲每一個用戶在一個while循環PHP

id  userId  totalHours  isOt 
    1  1   0830   1 
    2  4   0630   0 
    3  1   0730   0 
    4  2   0900   1 

我需要找到每個用戶的totalHours但他們應該爲每個用戶展示一次( Group By)

然後,如果總時數爲OT(隨着時間的推移== 1),總時數減去0800小時之間的差值也應該總結出來並顯示在另一列中。

我試圖加入這個表與用戶表,但循環似乎是錯誤的,最終將每個循環中的所有最後值總計到另一個。

希望有任何人誰可以幫助你的幫助表示讚賞

+0

你能告訴你嘗試過什麼樣的代碼,使人們可以幫助你找到什麼是不正確的? – Djizeus

回答

0

做到這一點在你的數據庫查詢,而不是PHP:

SELECT UserId, 
     SUM(totalHours) AS totalTime, 
     SUM(IF(isOt, totalhours-800, 0)) AS totalOt 
FROM yourTable 
GROUP BY UserId 
+0

嗨Barmar,我怎麼能在這個問題裏發表一個表格,我不知道在這裏發佈代碼。 – Pet

+0

嗨barmar,謝謝,我會嘗試 – Pet

+0

粘貼預先格式化的文本,然後使用'{}'代碼標記工具。 – Barmar

相關問題