2013-06-03 133 views
0

我有一個腳本,可以同時在MySQL表中插入許多條目。這意味着我有> 100個條目具有相同的時間戳,另有> 100個條目具有該時間戳+1秒...MySQL獲得最近5分鐘時間戳的字段的最大值和最小值

此腳本不時發佈,因此我得到了一些條目每次腳本啓動幾分鐘。我想檢索某個字段MYFIELD的最大值和最小值,只是在時間戳的最後5分鐘處查看,所以我可以從最後一次腳本執行中獲取最小值和最大值。

這可能嗎?怎麼樣?

回答

1

首先找到最後的時間戳:

SELECT MAX(timestamp) 
FROM your_table; 

並用它來獲得MIN和MAX:

SELECT MIN(myfield), MAX(myfield) 
FROM your_table 
INNER JOIN (SELECT MAX(timestamp) as max FROM your_table) t ON TRUE 
WHERE timestamp >= (max - interval 5 MINUTE); 
0

一種方法是添加一列(比如insert_timestamp)來跟蹤插入的行的時間戳。因此查詢會這麼簡單

select min(myfield), max(myfield) 
from mytable 
where insert_timestamp between now() and (now() - interval 5 MINUTE) 
+0

爲什麼我就不能使用那在時間戳字段?我無法更改腳本以添加另一列。 –

+0

以及我不認爲有沒有辦法可以做到這一點,沒有跟蹤插入的時間。 – chetan

相關問題