Я бы хотел сгруппировать по нефиксированным временным интервалам.То есть у меня есть некоторые события, имеющие начало и конец, и я хотел бы подсчитать, сколько событий происходило одновременно.
У меня есть такая таблица
start | end | desc
-----------------------------------------------------------
'2018-03-29 13:36:52'|'2018-03-29 13:37:52+02'|'Alarm_821'
'2018-03-29 13:39:52'|'2018-03-29 13:41:52+02'|'Alarm_821'
'2018-03-29 15:44:15'|'2018-03-29 15:50:16+02'|'Alarm_819'
'2018-03-29 15:44:15'|'2018-03-29 15:51:16+02'|'Alarm_817'
'2018-03-29 16:08:18'|'2018-03-29 16:10:19+02'|'Alarm_418'
'2018-03-29 16:08:18'|'2018-03-29 16:10:19+02'|'Alarm_465'
'2018-03-29 16:11:19'|'2018-03-29 16:15:19+02'|'Alarm_418'
И я хотел бы получить этот результат:
start | end | count
-----------------------------------------------------------
'2018-03-29 13:36:52'|'2018-03-29 13:37:52+02'| 1
'2018-03-29 13:39:52'|'2018-03-29 13:41:52+02'| 1
'2018-03-29 15:44:15'|'2018-03-29 15:50:16+02'| 2
'2018-03-29 15:50:16'|'2018-03-29 15:51:16+02'| 1 <<== here start refers to the end of the first event ending when both of them started
'2018-03-29 16:08:18'|'2018-03-29 16:10:19+02'| 2
'2018-03-29 16:11:19'|'2018-03-29 16:15:19+02'| 1
Я на самом деле не уверен, что это можно сделать только с помощью SQL.