gpt4 book ai didi

php - 在 While 循环中对结果进行分组并计数值

转载 作者:行者123 更新时间:2023-11-29 11:53:09 25 4
gpt4 key购买 nike

我有一个简单的查询,其中列出了员工姓名、他们工作的小时/分钟以及这些时间的成本。这是查询,它连接 3 个表:

$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

现在我想对它们进行分组,我尝试按 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

我们将非常感谢您的帮助。我确信这很简单,但我没有捕获要点。

最佳答案

为了获得加法,您需要一个总和

试试这个方法

$usersResult = mysqli_query($con,"SELECT a.UF_TIME_ID, a.UF_USER, sum(a.UF_COST),
b.ID, b.NAME, b.LAST_NAME, c.ID, sum(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");

关于php - 在 While 循环中对结果进行分组并计数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com