汇总mysql列的累计次数



我试图从数据库中的几个不同列中分别合计所有时间日期,但是当每个列的总数超过24小时时-我只打印00:00而不是实际总数。

我知道PHP日期"H"变量只覆盖00 - 23,所以我不确定最好的方法去做这件事。如有任何帮助,不胜感激。

我的SQL select代码是:
SEC_TO_TIME( SUM( TIME_TO_SEC(lunch) ) ) AS lunch, 
SEC_TO_TIME( SUM( TIME_TO_SEC(overtime) ) ) AS overtime, 
SEC_TO_TIME( SUM( TIME_TO_SEC(day_paid) ) ) AS day_paid, 
SEC_TO_TIME( SUM( TIME_TO_SEC(lunch) ) ) AS lunch, 
SEC_TO_TIME( SUM( TIME_TO_SEC(holiday) ) ) AS holiday, 
SEC_TO_TIME( SUM( TIME_TO_SEC(absence) ) ) AS absence

我的视图代码作为"lunch"的例子是:

echo date('H:i', strtotime($day_breakdown->day_paid);

你写的MySQL代码很好,但是视图代码不能工作,因为它被设计成与日期/时间一起工作,而不是与相对的时间周期。

你应该这样除以秒来计算小时/分钟:

$hours = floor($seconds / 3600);
$minutes = floor($seconds / 60) % 60;

相关内容

  • 没有找到相关文章

最新更新