首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择每条记录间隔不超过5分钟的轨道上的记录?

如何选择每条记录间隔不超过5分钟的轨道上的记录?
EN

Stack Overflow用户
提问于 2013-03-20 15:05:26
回答 1查看 134关注 0票数 0

我有很多来自GPS设备的记录,我需要在地图上显示为一条路线。当记录之间的时间不超过5分钟时,记录合并一条路由。

假设我的数据库如下所示:

代码语言:javascript
复制
id       date
-------  ---------------------
1        2013-01-10 11:00:00.0
2        2013-01-10 11:01:15.0
3        2013-01-10 11:02:15.0
4        2013-01-10 11:03:15.0
5        2013-01-10 11:04:45.0
6        2013-01-10 11:15:00.0
7        2013-01-10 12:00:00.0
8        2013-01-10 12:00:50.0

在这种情况下,记录1-5和7-8需要形成路由。

我试图为此编写一个查询,但我被卡住了。我设法在数据库之后执行了操作,但这不是您想要的(您必须检索所有记录等)。

有人有解决这个问题的办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-20 15:14:54

您可以通过简单地将每个条目与其后续条目进行比较来获得各个片段

代码语言:javascript
复制
SELECT 
    f.ID AS from_ID,
    t.ID AS to_ID
FROM
    GPSTable AS f 
JOIN GPSTable AS t
    ON f.ID = t.ID-1 
WHERE
    TIMESTAMPDIFF(SECOND, f.Date, t.Date) < 300
;

如果存在一个条目(A,B)和另一个条目(B,C),您就知道您有一个来自(A->B->C)的路径。

下一步是收集所有这些路径段。这可以通过递归查询来完成,但我不熟悉mySQL。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15517320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档