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