计算需要几天课程的课时(小时和分钟)总计

时间:2018-04-04 06:15:06

标签: mysql

我有一个mysql表,其中包含课程安排/课程时间。有些课程需要几天时间。现在我想计算每门课的总课时(小时和分钟)。该表名为cm_courses_times_and_venues。谁能帮我这个 ?我使用PHP但是如果可以在一个非常好的mysql语句中处理计算。在此先感谢您的帮助。

course_id | course_start        | course_end
182       | 2018-04-09 08:45:00 | 2018-04-09 11:59:59
182       | 2018-04-09 13:00:00 | 2018-04-09 17:45:59
182       | 2018-04-10 08:45:00 | 2018-04-09 11:59:59
182       | 2018-04-10 13:00:00 | 2018-04-09 17:45:59
182       | 2018-04-11 08:45:00 | 2018-04-09 11:59:59

2 个答案:

答案 0 :(得分:0)

TIMEDIFF应该开展工作

set_page_load_timeout()

答案 1 :(得分:0)

尝试下面的查询,我还没有测试但它应该可以工作:

SELECT  SEC_TO_TIME( SUM(TIMESTAMPDIFF(SECOND,course_end,course_start ) ) ) AS totalTime,  course_id from tblcourse group by course_id

如果时间超过24小时,我们可以将其转换为字符串:

SELECT  cast(SEC_TO_TIME(SUM(TIMESTAMPDIFF(SECOND,course_end,course_start ) ) ) AS CHAR) AS totalTime,  course_id from tblcourse group by course_id 

SQL小提琴:http://sqlfiddle.com/#!9/b3cb79/2/0

如果你不想要每门课程的总时间:

SELECT  cast(SEC_TO_TIME(TIMESTAMPDIFF(SECOND,course_end,course_start ) )  AS CHAR) AS totalTime,  course_id from tblcourse