Сап, Лор! Есть поток данных с таймштампом:
time
---------------------
2015-02-08 08:57:21
2015-03-23 05:22:42
2015-03-23 05:24:52
2015-03-23 05:25:14
2015-03-23 05:25:46
2015-04-03 13:00:28
2015-04-03 13:00:33
2015-04-03 13:00:38
2015-04-03 13:00:43
2015-04-03 13:00:48
Нужно этот поток сгруппировать, таким образом, что бы в каждой группы образовались рекорды с разницей во времени не более X. Т.е. на выходе получить что то типа такого:
time | group_field
---------------------+----------
2015-02-08 08:57:21 | 1
2015-03-23 05:22:42 | 2
2015-03-23 05:24:52 | 2
2015-03-23 05:25:14 | 2
2015-03-23 05:25:46 | 2
2015-04-03 13:00:28 | 3
2015-04-03 13:00:33 | 3
2015-04-03 13:00:38 | 3
2015-04-03 13:00:43 | 3
2015-04-03 13:00:48 | 3
Время хранится в UTC. Есть идеи как такое реализовать? Сейчас это реализовано через отдельную сущность (group_field - id сущности), что ОЧЕНЬ усложняет CRUD, т.к. объем данных велик. Поэтому было принято решение отказаться от сущности в пользу такой группы-фантома.