繁体   English   中英

如何选择具有特定字段值的两个记录之间的所有行?

[英]How i can Select all rows between two records with specific field values?

我有一个旅程表。 该表上的列之一是EventType ,它包含一个整数。

EventType只能是1、2或3。

如何选择具有逻辑的选择:

查找EventType = 3的记录,然后选择之前的所有记录直到获得EventType = 1的记录。

基本上,此表收集旅程的GPS数据( 纬度和经度 )。

EventType = 1表示旅程开始

EventType = 2表示旅程开始和结束之间的所有事件

EventType = 3表示旅程结束

表模式为:

表架构

MySQL并不是很好(我可以执行简单的Select语句... etc),但是想不到尝试这种方法的方法。

我认为您可以执行以下操作:

SELECT *
FROM your_table
WHERE id > (SELECT MIN(id) 
            FROM your_table
            WHERE EventType = 1)
  AND id < (SELECT MAX(id) 
            FROM your_table
            WHERE EventType =3)

这可能不是最优雅的解决方案,但是从我的尝试来看,它确实有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM