如何将while循环PHP中每个用户的总时间相加

时间:2014-07-06 03:13:34

标签: php mysql loops while-loop sum

我有这个表(例如)

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

我需要为每个用户找到totalHours,但每个用户都应该显示一次(分组依据)

然后,如果将totalHours评为OT(随着时间的推移= = 1),则总时数减去0800小时之间的差异也应该总结并显示在另一列中。

我试图将这个表与用户表连接起来,但循环似乎错了,最终将每个循环中的所有最后一个值合计为另一个。

希望有人能提供帮助,感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在数据库查询中执行,而不是PHP:

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