我不知道问题是否合适,但情况是这样的:
在我的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中进行计算?请帮忙。感谢。
答案 0 :(得分: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