4

画像アップローダーがあり、最小限のボット保護を作成したいと考えています。私のテーブル構造は次のようになります。

| ID | uploader_ip | image_name | image_url_id | date
------------------------------------------------------
| 1  | 127.0.0.1   | bla.jpg    | fsdJGf       | UNIX Timestamp  (UPDATE ON: Create)

2分以内またはちょうど2分で作成された画像/行が50以上あるのか、正確に50行あるのかを確認したいと思います。

どうやってやるの?

4

2 に答える 2

0

カウントとグループを組み込んだクエリを作成し、日付列に範囲を設定します。これを直近の 2 分間だけ行う場合、クエリは次のようになります。

select count(*) from your_table where uploader_ip="<some ip>" and date > (now() - interval 2 minute) group by uploader_ip;
于 2013-10-10T18:07:25.367 に答える
-1

ここにクエリがあります

Select count(*) from table 
where 
table.date >  now() - interval 2 minute
-- or the function date_sub(now(), interval 2 minute)
and id = 1

2 分以内にアップロードされたすべてのユーザー ID が必要な場合:

select id, 
  (select count(*) 
    from table 
    where id = t.id 
    and date > t.date - interval 1 minute 
    and date < t.date + interval 1 minute
  ) as total
from table t
where total >= 50
于 2013-10-10T18:07:02.253 に答える