2014-05-07 28 views
0

有沒有辦法搜索一個或更多具有一定值的行的「集合」。 我希望我能準確地描述這一點。MySQL正在查找值字段/值更改?

例如,這是我的表(在某一時間顯示車輛的速度):

| timestamp | speed | 
| 2014-04-01 | 0.00 | 
| 2014-04-02 | 0.00 | 
| 2014-04-03 | 0.00 | 
| 2014-04-04 | 0.00 | 
| 2014-04-05 | 0.00 | 
| 2014-04-06 | 0.00 | 
| 2014-04-07 | 20.00 | 
| 2014-04-08 | 21.00 | 
| 2014-04-09 | 24.00 | 
| 2014-04-10 | 22.00 | 
| 2014-04-11 | 24.00 | 
| 2014-04-12 | 0.00 | 
| 2014-04-13 | 0.00 | 
| 2014-04-14 | 0.00 | 
| 2014-04-15 | 30.00 | 
| 2014-04-16 | 34.00 | 
| 2014-04-17 | 37.00 | 
| 2014-04-18 | 31.00 | 
| 2014-04-19 | 0.00 | 
| 2014-04-20 | 0.00 | 
| 2014-04-21 | 0.00 | 
| 2014-04-22 | 0.00 | 

每當速度大於0時,車輛正在移動時, 所以我想像的輸出:

Tour 1: 2014-04-07 - 2014-04-11 
Tour 2: 2014-04-15 - 2014-04-18 

任何人都可以幫我嗎?

在此先感謝!

回答

0

我不認爲這是可能的一個查詢。

第一次巡迴演出,你可以以這種方式

SELECT * FROM table WHERE speed > 0 ORDER BY timestamp ASC 

SELECT * FROM table WHERE speed = 0 AND timestamp > previous_timestamp ORDER BY timestamp ASC 

其次,你可以以這種方式

SELECT * FROM table WHERE speed > 0 AND timestamp > previous_timestamp ORDER BY timestamp ASC 

SELECT * FROM table WHERE speed = 0 AND timestamp > previous_timestamp ORDER BY timestamp ASC 

每次你應該分配給previous_timestamp價值發現前面的查詢得到得到(使用PHP)

在上次巡演中,它可能還沒有完成,所以如果最後一個查詢中沒有行,現在它仍然在運行。

當然你應該考慮兌現旅遊,據我瞭解,完成後他們的時間不會再改變。