2013-01-22 18 views
0

我在我的website上有一個工作圖,但圖表數據在24小時時間範圍內開始和結束,實際上它應該從框架開始。我的查詢只是如下所示:如何使用上下文點查詢MySQL圖形數據

select * where timestamp > 24hrs 

如何查詢時間範圍內的所有數據以及時間範圍之前的第一個數據點?我不能使用一個常數值,因爲有時屏幕外的點是10個小時,有時候是10秒。

+0

請提供表格的結構,一些樣品數據和所需的輸出 –

回答

1

您可以選擇與時間幀之前的第一個數據點:

SELECT * FROM yourtable WHERE timestamp <= 24 ORDER BY timestamp DESC LIMIT 1 

如果有可能有不止一個相同的時間戳,那麼這可能隨機選擇一項 - 如果這是不能接受的,然後使用改爲ORDER BY timestamp DESC, primary_key

所以你可以得到你通過想要什麼UNION

/* This gets the first item previous to your range limitation */ 
SELECT 
    * FROM yourtable 
    WHERE timestamp <= 24 ORDER BY timestamp DESC LIMIT 1 
UNION 
/* Your original query */ 
SELECT 
    * FROM yourtable 
    WHERE timestamp > 24; 

我在這裏假設(根據你的問題)

該時間戳是一個整數,但上面也可以調整,如果它是一個 DATETIME列。