|
Можно ли выбрать строки, группируя по дате через некий интервал?
|
|||
---|---|---|---|
#18+
Приветствую. Есть таблица с полем timestamp(3), строки - это запись действию пользователя (API). Стоит задача посчитать повторные возвраты, условно - если между двумя, отсортированными по id, записями есть разрыв по времени больше минуты, считается что пользователь покинул приложение и потом открыл его заново. Пример: iduser_iddt5112019-05-25 12:20:19.60652222019-05-25 12:20:20.0085312019-05-25 12:20:21.5325412019-05-25 12:20:22.78755222019-05-25 12:21:50.8215612019-05-25 12:30:12.05157222019-05-25 12:44:45.712 тут для user_id=1 id=[51,53,54] это одно посещение, и id=56 - другое. Для user_id=22 разные посещения это все три строки id=52, 55, 57. Результат должен быть типа такого: user_idcount12223 можно группировать целиком, для всех пользователей за заданный период, можно по одному запросу на пользователя (лучше первое). Возможно ли такое сделать в принципе одним только SQL? PostgreSQL 10.7 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2019, 11:05 |
|
Можно ли выбрать строки, группируя по дате через некий интервал?
|
|||
---|---|---|---|
#18+
Victor256, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2019, 11:36 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=1995190]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 134ms |
0 / 0 |