我正在学习一些基本的SQL技能,我正在摆弄一些数据,看看我能做些什么,但是,我有点卡住了如何继续我目前的问题。
我有一个类似这样的表:
| 路径ID|段ID|订单|开始时间|结束时间|车号|
| - ------| - ------| - ------| - ------| - ------| - ------|
| 1个|四十五|1个|十点半|十点零一分|1个|
| 1个|四十六|第二章|十点零一分|十点零一分三十秒|1个|
| 1个|四十七|三个|十点零一分三十秒|十点零二分|1个|
| 第二章|五十|1个|十点零五分|十点零五分三十秒|1个|
| 第二章|四十九|第二章|十点零六分|十点零六分三十秒|1个|
| 三个|九百|1个|20时01分|20时01分30秒|第二章|
如你所见,我们有一堆汽车和它们行驶过的路线。一条路线就是一系列行驶过的路段。此外,我们还有进入路段和离开路段的时间戳。
- 目标**
我想做的是创建一个简单的起点-终点分析,我得到了一个属于位置A的路段列表,同样,我得到了一个属于位置B的路段列表。
"我的解决方案"
好的,这很简单。我做了一个新的表格,列出了每条路线的第一段和最后一段。使用这个表格,就很容易得到答案了。
- 问题是**
路线本身并没有按预期生成。例如,在上表中,您将看到汽车1有两条路线。第一条路线在10:02:00结束,而第二条路线在10:05:00开始。由于这两条路线之间的时间差不到5分钟,因此我非常希望将其视为"一条路线"。我不一定对生成一个新表感兴趣,在该表中,我们将同一辆汽车的所有路线粘合在一起,前提是它们彼此之间的时间差在5分钟以内(尽管我对完成此操作所需编写的查询类型非常感兴趣)。
现在,我很高兴能得到一个线索/答案,知道如何以某种方式将这些路线粘合在一起,并制作一个表格,列出每条路线的起点和目的地,同一辆车的路线之间最多5分钟被视为一条路线。
我提前感谢你。虽然我有一些接近的尝试,一个适当的解决方案似乎超出了我目前(非常基本的)SQL技能。
1条答案
按热度按时间eufgjt7s1#
您可以比较已排序的行来标记汽车的新路线起点,然后获取汽车内的虚拟路线编号。