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

时间:2018-01-29 10:09:13

标签: mysql

我有一张Journeys表。此表中的一列是EventType,它包含一个整数。

EventType只能是1,2或3。

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

  

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

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

  

EventType = 1表示旅程开始

     

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

     

EventType = 3表示旅程结束

表Schema是:

table schema

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

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

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)

这可能不是最优雅的解决方案,但是根据我的尝试,它有效。