我正在办理前台登记办理登机手续并试图添加个人或公司所有访问的总时间时碰壁:当我运行以下查询时:
$yearStart = date('Y-m-d', strtotime(date('Y-01-01')));
$today = date("Y-m-d",time());
$sql = "SELECT visCompany, count(visCompany) as accumilatedVisits, sum(timeVisited) as total_time from cards where cards.dateOfVisit BETWEEN '$yearStart' AND '$today' GROUP BY cards.visCompany ORDER BY accumilatedVisits DESC";
我得到了两个数字的总和,但得不到正确的格式,但我无法想象或找到更好的方法来做到这一点......我在开始时将以下时间保存在我的卡片表中:{{1和} 00:29:18
加在一起给我3461这是正确的 - 如果你在34和61之间放一个空格,总数应该是00:05:43
并且值似乎在那里,但我会认为有一种更清晰的方式来完成正确添加和格式化的值...我一直在寻找mariadb kb甚至试图在这里找到解决方案......我可以找到一种方法来进行格式化和在PHP中进行分钟修正..但更愿意使用sql来获得所需的结果。
有人有任何建议吗?
答案 0 :(得分:0)
Whops我重复了......找到答案:: MySQL - How to SUM times?
我的新查询:: SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(cards.timeVisited))) as total_time_visited FROM cards;
测试并使用结果为00:35:01
。
对于复制品感到抱歉......感谢您的阅读。