如何基于时间戳组合两行

时间:2010-08-05 12:44:16

标签: php mysql

所以我知道这是一种奇怪的方式,但不好尝试解释。

我有下表 trackingPoint {id,moduleId,lat,long,timestamp,first,last}

我现在遇到的问题是点数可能无序到达。处理该条目的php生成一个旅行记录,但它依赖于订单。我可以调整这个脚本,但我正在寻找一个更有效的解决方案。我想如果我在跟踪点生成的单个查询中完成所有操作,我会消除一些状态,这是不好的:D

行程中的第一个跟踪点标记为first = 1 行程中的最后一个跟踪点标记为last = 1

所以我需要first = 1的所有行,然后我需要在last = 1的下一行合并 产生如下行: startTimestamp,endTimestamp,startLat,startLong,endLat,endLong,moduleId

1 个答案:

答案 0 :(得分:0)

最简单的方法是在表格中添加TripID列,您可以轻松地对其进行分组或过滤。例如

select * from trackingPoint where TripID = ?;
select tripID, min(ts), max(ts) from trackingPoint where TripID = ?;