Есть ли способ группировать по непрерывным ценностям - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть данные от автомобильного GPS-трекера, и мне нужно найти периоды парковки и движения

Теперь в каждой строке есть идентификатор парковки или движения в таблице

+------------+-------+----------+---------+------------+
|    time    | speed | ignition | trip_id | parking_id |
+------------+-------+----------+---------+------------+
| 05:48:50   |     0 | false    |       0 |        300 |
| 05:49:20   |     0 | false    |       0 |        300 |
| 05:49:20   |    10 | true     |     300 |          0 |
| 05:50:01   |    20 | true     |     300 |          0 |
| 05:51:20   |    17 | true     |     300 |          0 |
| 05:51:20   |     0 | false    |       0 |        301 |
| 05:52:40   |     0 | false    |       0 |        301 |
| 05:52:40   |    12 | true     |     301 |          0 |
| 05:52:50   |    22 | true     |     301 |          0 |
| 05:53:00   |    30 | true     |     301 |          0 |
| 05:53:30   |    40 | true     |     301 |          0 |
| 05:53:30   |     0 | false    |       0 |        302 |
| 05:55:00   |     0 | false    |       0 |        302 |
+------------+-------+----------+---------+------------+
SELECT min(time) as time_start, max(time) as time_end, trip_id, parking_id
FROM 'tablename' GROUP BY trip_id, parking_id

результат

+------------+----------+---------+------------+
| time start | time end | trip id | parking id |
+------------+----------+---------+------------+
| 05:48:50   | 05:49:20 |       0 |         300|
| 05:49:20   | 05:51:20 |      300|          0 |
| 05:51:20   | 05:52:40 |       0 |         301|
| 05:52:40   | 05:53:30 |      301|          0 |
| 05:53:30   | 05:55:00 |       0 |         302|
+------------+----------+---------+------------+

Как мне группировать, чтобы не использовать parking_id и trip_id. Но генерировать идентификаторы парковки и поездки. И конечный результат должен быть:

+------------+----------+---------+------------+
| time start | time end | trip id | parking id |
+------------+----------+---------+------------+
| 05:48:50   | 05:49:20 |       0 |          1 |
| 05:49:20   | 05:51:20 |       1 |          0 |
| 05:51:20   | 05:52:40 |       0 |          2 |
| 05:52:40   | 05:53:30 |       2 |          0 |
| 05:53:30   | 05:55:00 |       0 |          3 |
+------------+----------+---------+------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...