我有一個腳本,可以同時在MySQL表中插入許多條目。這意味着我有> 100個條目具有相同的時間戳,另有> 100個條目具有該時間戳+1秒...MySQL獲得最近5分鐘時間戳的字段的最大值和最小值
此腳本不時發佈,因此我得到了一些條目每次腳本啓動幾分鐘。我想檢索某個字段MYFIELD的最大值和最小值,只是在時間戳的最後5分鐘處查看,所以我可以從最後一次腳本執行中獲取最小值和最大值。
這可能嗎?怎麼樣?
我有一個腳本,可以同時在MySQL表中插入許多條目。這意味着我有> 100個條目具有相同的時間戳,另有> 100個條目具有該時間戳+1秒...MySQL獲得最近5分鐘時間戳的字段的最大值和最小值
此腳本不時發佈,因此我得到了一些條目每次腳本啓動幾分鐘。我想檢索某個字段MYFIELD的最大值和最小值,只是在時間戳的最後5分鐘處查看,所以我可以從最後一次腳本執行中獲取最小值和最大值。
這可能嗎?怎麼樣?
首先找到最後的時間戳:
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);
一種方法是添加一列(比如insert_timestamp)來跟蹤插入的行的時間戳。因此查詢會這麼簡單
select min(myfield), max(myfield)
from mytable
where insert_timestamp between now() and (now() - interval 5 MINUTE)
爲什麼我就不能使用那在時間戳字段?我無法更改腳本以添加另一列。 –
以及我不認爲有沒有辦法可以做到這一點,沒有跟蹤插入的時間。 – chetan