0

我不知道这个问题是否合适,但情况是这样的:

在我的 mysql 查询中,我得到了时差,并得到了公共部分下每个员工的总和。

SUM(HOUR(TIMEDIFF(fDate, fDateOut))) AS timediff

现在,在得到结果后,我只需要从结果中得到 8 个小时,并将多余的时间放在表中的另一列中:

example:
fDate                 fDateOut
2013-08-01 07:00      2013-08-01 18:00

timediff = 11 hours    // <------ now I need to get only 8 hours from this result and put the excess in another column:

所以:

timediff     = 8 hours
excesstime   = 3 hours

我如何在mysql中进行计算?请帮忙。谢谢。

4

1 回答 1

0

这是一个相当粗略的解决方案,我相信它可以优化以适合您的查询,但它显示了这个想法。

SELECT *, LEAST(8,timediff) AS timediff, GREATEST(0,timediff-8) AS excess 
FROM (
    SELECT *, SUM(HOUR(TIMEDIFF(fDate, fDateOut))) AS timediff from test
) t
于 2013-09-13T02:27:31.937 回答