2011-02-07 9 views
0

私はネットワークデータを持つデータベースを持っています、各行はパケット/フローに対応しています。私は、一度に15分のデータを一定の間隔で最後から上に読み込み、その上でいくつかのフォレンジック処理を行いたいと思います。最後に頻繁な間隔でMySQLの固定数の行を読む

MySQLに関する私の質問:
私はデータを読み取ったところまで追跡し続けることができますか?
SYNパケットのタイムスタンプを含む最初の列を読むことによって、「データの最後15分、次に15分のデータを読み込む」などのSQLクエリを手伝ってもらえますか?

ご協力いただければ幸いです。
ありがとうございました

答えて

1

変数を保存しておいた場所に保存する必要があります。あなたのアプリで、またはクライアントVARでのMySQLでこれを保存するかどうかはあなた次第ですが、それはサーバ側の変数を使用して、このようなものになるだろう:

select @previously_finished_at := now() 

...どんなデータであなたの分析を行いますあなたは2011-01-01 00:00:00でこれを始めたのであれば、その後、あなたの最初のクエリは、その後

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

を持っているでしょう...

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 

を取得した、あなたの次の実行時に、来ることになる

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

などとなる。

+0

ありがとうございました。私はSQL関連のものについては知識が限られているので、問題を見つけ出すのに困っていました。 – rda3mon

+0

私は、date_addの単位構文は分で分ではないと思います。編集されました。 – rda3mon

関連する問題