Я импортировал мои необработанные файлы журнала IIS в таблицу SQL Server, используя
Log Parser tool уже несколько месяцев. Это сделано, чтобы включить написание
Отчеты SSRS на основе этих данных журнала.
Один из отчетов, над которым я работаю, должен определить количество
Посещения с каждого уникального IP-адреса. Посещение определяется как попадание IP-адреса
страница на сайте, а затем сделать еще 4 запроса в течение часа каждого
Другой. Все 5 запросов в течение одного визита на сайт. Позже это
ночью тот же IP-адрес попадает на сайт, за исключением того, что теперь это 3 часа спустя, так
мы считаем это новое действие с того же IP-адреса, что и новое посещение. Вот образец
данные:
IPAddress, RequestDateTime, UriStem
10.1.1.100, 2010-10-15 13:30:30, /
10.1.1.100, 2010-10-15 13:30:31, /style.css
10.1.1.100, 2010-10-15 13:30:31, /script.js
10.1.1.100, 2010-10-15 13:30:32, /funny.gif
10.1.1.100, 2010-10-15 13:30:33, /picture.jpg
10.1.1.101, 2010-10-15 13:40:50, /page2.html
10.1.1.101, 2010-10-15 13:40:51, /style.css
10.1.1.102, 2010-10-15 14:10:20, /page4.html
10.1.1.102, 2010-10-15 14:10:21, /style.css
10.1.1.100, 2010-10-15 16:55:10, /
10.1.1.100, 2010-10-15 16:55:11, /style.css
10.1.1.100, 2010-10-15 16:55:11, /script.js
10.1.1.100, 2010-10-15 16:55:12, /funny.gif
10.1.1.100, 2010-10-15 16:55:13, /picture.jpg
Глядя на приведенные выше данные, я легко могу определить, что 10.1.1.100
IP
адрес посетил сайт дважды и имел 5 просмотров за каждое посещение. Тем не менее, я
в недоумении относительно того, как выразить это в коде SQL. Есть ли простой способ группировки
и посчитать эти диапазоны дат по IP-адресу?
Я понимаю, что эту информацию можно получить с помощью таких инструментов, как
AWStats, но я не могу позволить себе установить Perl на
системы, которые мы используем.