Postgresql 有没有办法按连续值分组

Postgresql 有没有办法按连续值分组,postgresql,group-by,Postgresql,Group By,我有来自汽车gps跟踪器的数据,我需要找到停车和移动周期 现在,表中的每一行都有停车或移动的id +------------+-------+----------+---------+------------+ | time | speed | ignition | trip_id | parking_id | +------------+-------+----------+---------+------------+ | 05:48:50 | 0 | false

我有来自汽车gps跟踪器的数据,我需要找到停车和移动周期

现在,表中的每一行都有停车或移动的id

+------------+-------+----------+---------+------------+
|    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 |
+------------+-------+----------+---------+------------+
选择最小(时间)作为开始时间,最大(时间)作为结束时间,行程id,停车id
按行程id、停车id从“tablename”组
结果是

+------------+----------+---------+------------+
| 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|
+------------+----------+---------+------------+
我应该如何分组,以便不使用停车id和行车id,而是生成停车id和行车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 |
+------------+----------+---------+------------+

您预期的结果是什么?与最初的结果相同,但请求不应使用parking_id和trip_id请包含您实际希望看到的输出。如果不使用trip_id和parking_id,您将如何从中获取值?说明:仅使用ignition创建组没有问题(还有速度,因为你的时间戳是固定的)。最后你可以根据我的新的组id进行分组。但是你需要在分组子句或聚合函数中命名一个trip\u id。否则你无法显示它们……不清楚“没有trip\u id”是什么意思。