MYSQL - 重叠期间的开始和结束时间

时间:2017-12-18 19:45:55

标签: mysql time range overlap simultaneous

我有一个包含多个事件及其开始和结束日期/时间的表。 下面我有一个样本数据,其中 4个事件在不同的时间段内同时重叠。 对于它们重叠的每个时期,我应该在其持续时间中应用乘数。

到目前为止我得到了什么: 我使用MySQL作为数据库; 我在开始/结束日期/时间有一个表空间索引,我使用MBRIntersects来查找事件之间的重叠。该方法工作得非常好,我摆脱了那些很多ifs和join。 因此,我可以单独获得每个事件的交叉点开始/结束时间。但这并没有多大帮助。 我需要找到重叠时段的开始/结束时间,因此我可以对它们进行分组并在该范围内应用最大因子。

也许我选错了。

到目前为止我无法做到的事情:查找重叠时段的开始/结束时间。在显示的示例中,我需要得到如此的间隔:

  • 1 | 08:00 | 08:15
  • 2 | 08:15 | 09:30
  • 3 | 09:30 | 10:00
  • 4 | 10:00 | 10:15
  • 5 | 10:15 | 10:30
  • 6 | 10:30 | 11:00

Multi overlap model

0 个答案:

没有答案