powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / помогите, плиз, с запросом
5 сообщений из 5, страница 1 из 1
помогите, плиз, с запросом
    #34426111
Mseryoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, нужна помощь с SQL запросами.
Есть 2 таблицы(в них информация из логов Апача): log и spiders
log:
ip |url |ua |size
5.6.8.4 |1.html |googlebot/v45 |10
7.5.6.1 |1.html |googlebot |10
4.2.3.5 |2.html |asd/yahoobot.bot/jkj |7
4.5.3.9 |3.html |someagent |9

spiders:
name |spr_ua
google |googlebot
yahoo |yahoobot
msn |msnbot


Необходимо заполнить таблицу(в самом низу), где SE берется из таблицы spiders.name только если строка в log.ua содержит подстроку из spiders.spr_ua. counurl - это количество различных url для одного SE. Size - это сумма log.size для одного SE

SE |counurl |size
google |1 |20
yahoo |1 |7
...
Рейтинг: 0 / 0
помогите, плиз, с запросом
    #34428777
Mseryoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался с запросом. вышло, что-то типа:
select b.name as SE, count(a.url) as 'count', sum(a.sr) as 'size' from spiders b, log a where pos(b.ua, a.ua) >0 group by b.name

Вот только как выбрать количество a.url без повтороней?
...
Рейтинг: 0 / 0
помогите, плиз, с запросом
    #34430266
golsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
count(distinct имя_поля) - считает только уникальные значения
...
Рейтинг: 0 / 0
помогите, плиз, с запросом
    #34431834
Mseryoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.
Проблема была в том, что локальная БД, которую я использовал, не поддерживает этого запроса (несмотря на наличие его в документации). Уже поставил другую…
...
Рейтинг: 0 / 0
помогите, плиз, с запросом
    #34445290
Mseryoga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возникла еще одна проблема:
Надо сгруппировать одинаковые ИП, с разницей по времени < 30 минутам и отобразить количество сгруппированных ИП?

ИП - это char,
например, есть таблица с ИП и временем:
1.2.3.4 | 1.01.2007 12.55
1.2.3.4 | 1.01.2007 12.45
1.2.3.4 | 1.01.2007 14.54
4.3.2.1 | 1.01.2007 13.45

Должно быть:
1.2.3.4 | 2
1.2.3.4 | 1
4.3.2.1 | 1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / помогите, плиз, с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]