Группировка по доступным временным отрезкам, MySql?
Дано:
есть в строке Datetime начала. Например
7 mar, 15:30
есть длительность (всегда одинакова), например 90 минут, итого получаем длительность:
7 mar, 15:30 - 7 mar, 17:00
Есть кол-во людей (ppl_count) в этой строке, например 5.
итого, 5 человек в периоде 7 mar, 15:30 - 7 mar, 17:00
Задача:
Сгруппировать количество людей на определенный промежуток времени, например, если у нас строки
5 / 7 mar, 15:30 - 7 mar, 17:00
6 / 7 mar, 16:00 - 7 mar, 17:30
это значит, мы должны получить след ответ:
15:30 - 5
16:00 - 11
16:30 - 11
17:00 - 6
17:30 - 6
Как можно получить такой запрос?
P.S. Пока писал, возникла идея сделать select с получасовыми отрывками, добавить join, и сгруппировать, проссумировав результат.
Алгоритм: иметь дело с событиями включения и выключения отрезка. Отсортировать их по времени, двигаться в порядке взрастания времени и считать изменения "бегущей" суммы на каждом событии.