小编Łuk*_*asz的帖子

MySQL:总和时间范围不包括重叠的时间范围

我需要总结由多个时间范围产生的时间。例如 - 我们有一些办公室的进入/退出范围:

示例时间图

查询必须:

  • 排除重叠范围 (8:00 - 10:00)
  • 排除“缺失”部分(12:00 - 14:00)

这种情况下的预期结果是 8:00(8:00 到 12:00 + 14:00 到 18:00)


示例表结构:

DAY        | TIME_ENTER | TIME_EXIT
2016-01-01 | 08:00      | 10:00
2016-01-01 | 08:00      | 12:00
2016-01-01 | 14:00      | 18:00
Run Code Online (Sandbox Code Playgroud)

预期结果:

DAY        | TOTAL
2016-01-01 | 08:00
Run Code Online (Sandbox Code Playgroud)

表结构:

CREATE TABLE Registry
 (`Date` DATE,
  `Enter` TIME,
  `Exit` TIME);
Run Code Online (Sandbox Code Playgroud)

示例插入

INSERT INTO Registry
VALUES
 ('2016-01-01', '08:00', '09:00'),
 ('2016-01-01', '08:00', '12:00'),
 ('2016-01-01', '14:00', '18:00')
Run Code Online (Sandbox Code Playgroud)

mysql time sum

5
推荐指数
1
解决办法
2839
查看次数

标签 统计

mysql ×1

sum ×1

time ×1