我有一個簡單的查詢,列出了員工姓名,他們工作的小時數/分鐘數以及這些小時數的成本。這是查詢,它加入了3個表格:在While循環中的組結果和計數值
$usersResult = mysqli_query($con,"SELECT a.UF_TIME_ID, a.UF_USER, a.UF_COST,
b.ID, b.NAME, b.LAST_NAME, c.ID, c.MINUTES, c.TASK_ID FROM time_cost a INNER
JOIN b_user b ON a.UF_USER = b.ID INNER JOIN b_tasks_elapsed_time c ON
a.UF_TIME_ID = c.ID GROUP BY a.UF_USER");
while($row = mysqli_fetch_array($usersResult)
分鐘字段只是讀取120分鐘數。然後我有一個函數將其分解成幾個小時和幾分鐘。從這個循環中,我得到一個表,看起來像:
NAME | Time Spent | Cost
Bob | 2h 30m | 50
Bob | 2h 15m | 40
Dave | 3h 30m | 120
Bob | 1h 15m | 20
Dave | 4h 30m | 180
現在我想他們,我試圖GROUP BY a.UF_USER組,但它不會添加的時間或正確費用高達我可以理解。然後我嘗試過:
SUM(c.MINUTES) AS TOTAL
並且使用那個有和沒有GROUP但是也沒有正確地增加值。我也嘗試過:
$totalTime += $row['MINUTES'];
但是與分組不同,它不顯示。這裏是我有while循環後的代碼:
{
$userFirstName = $row['NAME'];
$userLastName = $row['LAST_NAME'];
$userCost = $row['UF_COST'];
$userMinutes = $row['MINUTES'];
$userTime = $userMinutes;
$userTime = convertFromMinutes($userTime);
$totaluserHours = $userTime['hours'];
$totaluserMinutes = $userTime['minutes'];
print "<tr><td>$userFirstName $userLastName</td><td>$totaluserHours H $totaluserMinutes M</td><td>$userCost</td></tr>";
}
我有一個功能,計算分鐘和拆分成小時和分鐘。所以我需要最終的結果基本閱讀:
NAME | Time Spent | Cost
Bob | 6h 00m | 110
Dave | 8h 00m | 300
您的幫助將不勝感激。我相信這很簡單,我錯過了這裏的觀點。
您應說明是在小時和分鐘字段(能給我們一些樣本數據),然後爲我們提供了預期的輸出以及您在嘗試各種解決方案時獲得的輸出。 – Shadow
使用http://sqlfiddle.com/給我們樣品。 – DevT