2011-02-07 70 views
0

我有一個數據庫與網絡數據,每行對應一個數據包/流量。我想在固定的時間間隔內讀取從上到下的數據,一次說15分鐘的數據,並對其進行取證處理。從最後一個頻繁的時間間隔讀取MySQL固定行數

所以我的問題與MySQL有關:
是否有我可以跟蹤直到我已經讀取數據的地方?
有人可以通過閱讀第一列,其中包含SYN數據包的時間戳,幫助我查詢「讀取最後15分鐘的數據,然後15分鐘的數據,等等」的SQL查詢。

任何幫助將不勝感激。
謝謝

回答

1

你需要保留一個變量來存儲你離開的地方。不管你這些信息存儲在您的應用程序,或在MySQL客戶端VAR是你的,但它會使用服務器端的變量是這樣的:

select @previously_finished_at := now() 

...上的任何數據做你的分析被檢索...

select @new_end_point := date_add(@previously_finished_at, interval 15 minutes) 

select the,fields,you,want 
from 
table 
where packet_timestamp between @previous_finished_at and @new_end_point; 

select @previous_finished_at := @new_end_point 

所以,如果你開始這個在2011-01-01 00:00:00,那麼你的第一個查詢將有

... 
where packet_timestamp between '2011-01-01 00:00:00' and '2011-01-01 00:15:00' 

那麼,在您下次運行,將前來

... 
where packet_timestamp between '2011-01-01 00:15:00' and '2011-01-01 00:30:00' 

等等。

+0

非常感謝。我在SQL相關的知識方面的知識有限,所以我很難解決它。 – rda3mon 2011-02-07 17:25:17

相關問題