Я хотел бы иметь простой запрос, который я мог бы запустить к базе данных, чтобы возвратить отклонения во временном пороге, который пользователи публикуют на нашем форуме. Если у меня следующая структура базы данных:
ThreadId | UserId | PostAuthor | PostDate |
1 1000 Spammer 2010-11-14 02:52:50.093
2 1000 Spammer 2010-11-14 02:53:06.893
3 1000 Spammer 2010-11-14 02:53:22.130
4 1000 Spammer 2010-11-14 02:53:37.073
5 2000 RealUser 2010-11-14 02:53:52.383
6 1000 Spammer 2010-11-14 02:54:07.430
Я бы хотел установить порог, чтобы сказать, например, что если 3 сообщения от одного и того же пользователя попадают в период времени в 1 минуту, автор может рассылать спам на форумах. В свою очередь, я хотел бы вернуть пользователя «Спамер» в запросе с количеством сообщений, сделанных за отведенное время.
В приведенном выше примере Спамер отправил 4 сообщения в течение 1 минуты, поэтому результат запроса может выглядеть следующим образом:
UserId | PostAuthor | PostCount | DateStart | DateEnd
1000 Spammer 4 2010-11-14 02:52:50.093 2010-11-14 02:53:37.073
Мы приветствуем любые предложения в формате возвращаемых данных. Для меня формат важен не столько, сколько правильное определение злоумышленников на форуме.