如何检查两个时间字段之间的时差,有24小时
考虑我的表" tb1",其中包含以下字段id,startTime,endTime
我们需要找出(startTime,endTime)之间的时差总和有24小时,加上数字min作为总记录。这意味着如果总差14.44分钟。总计数记录为4,我们需要在总小时内加4分钟
以下查询我累了:
示例数据
Select id,StartTime, EndTime from tablename;
+----+-----------+----------+
| id | StartTime | EndTime |
+----+-----------+----------+
| 40 | 00:00:00 | 02:59:00 |
| 41 | 04:00:00 | 05:59:00 |
| 42 | 06:00:00 | 13:29:00 |
| 43 | 15:00:00 | 18:29:00 |
+----+-----------+----------+
Select Sum(TIMESTAMPDIFF(EndTime, StartTime)) + 4 mintues from tablename;
期望的输出:
12(in hours)
提前致谢
答案 0 :(得分:1)
假设您始终将记录数添加为分钟
SELECT SEC_TO_TIME((SUM(TIMESTAMPDIFF(MINUTE,StartTime,EndTime))+ COUNT(*))* 60) FROM tablename;
根据您的数据,这将返回H:M:S
16时00分00秒
答案 1 :(得分:0)
SELECT round(sum((time_to_sec(timediff(EndTime,StartTime))/3600)+(4/60)))
FROM TABLE
limit 1;