如何在mysql中计算时间差

时间:2019-01-12 06:05:10

标签: mysql

我正在按开始时间和结束时间将用户活动存储在表中,现在我要计算用户在每个主题下花费的总时间。

下面是我的表结构

Table structure

我尝试使用一些查询,但没有获得所需的输出。如何计算?任何帮助都是可观的。

这是我尝试过的代码

SELECT MINUTE(SEC_TO_TIME(SUM(TIMEDIFF(TIME(end_time), TIME(start_time))))) AS prep_time FROM prep_learn_log WHERE user_id = '1' GROUP BY subject_id

1 个答案:

答案 0 :(得分:2)

您可以使用TIMESTAMPDIFF直接在几分钟内获得差异:

SELECT SUM(TIMESTAMPDIFF(MINUTE, start_time, end_time)) AS prep_time
FROM prep_learn_log 
WHERE user_id = '1' 
GROUP BY subject_id