2011-07-12 10 views
0

ファイアウォールログを含むテーブルがあります。過去X日間のすべての接続の降順レポートを与えるクエリを作成しようとしています。distinctとcount()を使用したsqlクエリのヘルプ

これは私がこれまで持っているクエリです:

select distinct ip_saddr,oob_time_sec,count(*) as cnt 
from ulog 
where (oob_prefix like '%INPUT%' and oob_time_sec >= '$phpdays') 
group by ip_saddr 
order by cnt desc; 

table 
----------------------------------------------------------------- 
ip_saddr  = ip address 
oob_time_sec = time since unix epoch in seconds 
ulog   = database table 
oob_prefix = string from firewall entry (INPUT_x/OUTPUT_x traffic) 

は、このクエリはSANE(私も必ずプログラマの帽子を身に着けている管理者よ、そうではない)に見えるかどうかを知りたいです。

ありがとうございます!

答えて

1

私の見解では、あなたのクエリは正しく、適切です。

+0

、返信に時間を割いて感謝を持っているようLIKEがあるべきだと思います。 – wufoo

1

は私には正常に見えるが、私はoob_prefix以来

oob_prefix like 'INPUT%' 

グレートINPUT_x

+0

ああ、そうです。優れたキャッチ。ありがとうございました。 – wufoo

関連する問題