我有一个数据库,其中有来自gps发件人的很多行。 GPS有1秒的延迟发送下一行到数据库。所以我想要做的是一个Web界面,显示旅行,我不想显示太多的行,我想分组的行旅行。所以我想要做的是查询谁可以通过检查它是否超过14分钟到下一行来声明旅行/旅行,如果它是在给它一个旅行号码之前做出所有行的一行,否则将它添加到“旅行”收藏。按时间间隔划分组的行
1
A
回答
2
试试这个(例如为http://sqlfiddle.com/#!2/a0c86/39)
SELECT Trip, MIN(Date_Time), MAX(Date_Time)
FROM (
SELECT @Trip := IF(TIMESTAMPDIFF(MINUTE, @Date_Time, Date_Time) <= 20, @Trip, @Trip+1) AS TRIP
, logid
, @Date_Time := Date_time AS Date_Time
FROM gpslog
JOIN (SELECT @TRIP := 1, @Date_Time := null) AS tmp
ORDER BY Date_Time) AS triplist
GROUP BY Trip
+0
该死的男人,你太棒了!非常感谢@agrizzo –
+0
@AgRizzo,真棒解决方案。我在这里遇到了类似的问题,你的查询对我来说完美无缺。但是,请你解释它是如何工作的吗? –
+0
放手吧。我已经单独运行了每个子查询,并且知道它是如何工作的。无论如何,也许你可以为未来找到答案的人添加详细的解释。 –
相关问题
- 1. 按时间间隔分组
- 2. 按时间间隔分组
- 3. 按任意时间间隔对日期时间进行分组
- 4. 按时间间隔对时间序列数据进行分组
- 5. 不按时间间隔分组SQL Server
- 6. 按时间间隔对分钟进行分组
- 7. 按日历时间间隔分组的时间段和ID
- 8. 按时间间隔对消息进行分组
- 9. 按时间间隔对查询结果进行分组聚合
- 10. 如何按时间间隔进行特定分组?
- 11. 如何按时间间隔对结果进行分组?
- 12. Python - 时间加权平均熊猫,按时间间隔分组
- 13. 动态LINQ - 按时间间隔分组(日期时间,数字)
- 14. 按NHibernate QueryOver间隔分组
- 15. 获取按时间间隔按月分组的累计和
- 16. 按月划分时间戳
- 17. 按4小时间隔分组
- 18. 按30分钟的时间间隔分组查询
- 19. 按时间间隔排列的Teradata组
- 20. 按时间戳选择组SQL按1分钟间隔
- 21. 按日分组Unix时间戳产生不均匀间隔组
- 22. Oracle按分区划分ID和按DATE分区间隔
- 23. 按时间间隔休眠组
- 24. 组数据按时间间隔
- 25. 按d3中的时间间隔分组日志文件数据
- 26. SQL Server:按时间间隔分组的结果
- 27. 按日期分组的时间间隔(在d3.js中)
- 28. 按发生次数分组的时间间隔
- 29. 按时间间隔15分钟的聚合组
- 30. Python:按时间间隔分组的结果
你可以加载样本数据的sqlfiddle.com - 就像一个十几行,代表一个3-4的旅行?示例表只需要具有logid和datetime字段。 – AgRizzo
现在你可以在quastion中看到@AgRizzo –