0
我在我的website上有一個工作圖,但圖表數據在24小時時間範圍內開始和結束,實際上它應該從框架開始。我的查詢只是如下所示:如何使用上下文點查詢MySQL圖形數據
select * where timestamp > 24hrs
如何查詢時間範圍內的所有數據以及時間範圍之前的第一個數據點?我不能使用一個常數值,因爲有時屏幕外的點是10個小時,有時候是10秒。
我在我的website上有一個工作圖,但圖表數據在24小時時間範圍內開始和結束,實際上它應該從框架開始。我的查詢只是如下所示:如何使用上下文點查詢MySQL圖形數據
select * where timestamp > 24hrs
如何查詢時間範圍內的所有數據以及時間範圍之前的第一個數據點?我不能使用一個常數值,因爲有時屏幕外的點是10個小時,有時候是10秒。
您可以選擇與時間幀之前的第一個數據點:
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
列。
請提供表格的結構,一些樣品數據和所需的輸出 –