Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL-запрос логов прокси сервера, как составить сложный select-запрос 
:(
    Опции темы
Johen
  Дата 14.2.2005, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 25.5.2004
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Народ, ситуация такая: есть база данных, в которой находится лог прокси-сервера(около 1,5 миллиона строк). Нужно составить запрос, который выводил бы, допустим, 20 самых популярных доменов.

например:

там есть куча запросов типа http://www.yandex.ru/blablabla, еще такая же куча из рамблера и т.д. и т.п. нужно вытащить из строк домен (для яндекса это соответственно www.yandex.ru), определить по количество строк с одинаковыми доменами самый популярный, далее менее популярный и т.д. Затем вывести допустим 20 самых популярных доменов(замечу: не строку, какие они находятся в базе, а именно вытащенные из этих строк имена доменов).

Как сформировать SQL-запрос? smile
PM MAIL ICQ   Вверх
Akina
Дата 14.2.2005, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Ну и что? выделить имя сайта из УРЛа функциями сможешь? Сгруппировать по полученному сможешь? Посчитать Count сможешь? Запросить Top 20 по этому Count сможешь?

В чем проблема-то?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Johen
Дата 15.2.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 25.5.2004
Где: Санкт-Петербург

Репутация: нет
Всего: нет



можно пример работы count и top?
PM MAIL ICQ   Вверх
Song
Дата 15.2.2005, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Sysman.ru
***


Профиль
Группа: Участник
Сообщений: 1095
Регистрация: 2.6.2002

Репутация: 1
Всего: 4



Akina ему надо не полностью по урлу, а по доменнному имени. Поэтому в принципе то, что ты говоришь правильно, но нужно группировку делать по SUBSTRING_INDEX


--------------------
Прежде чем сказать "Невозможно", подумай, прав ли ты
PM WWW ICQ   Вверх
Akina
Дата 15.2.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(Song @ 15.2.2005, 14:30)
нужно группировку делать по SUBSTRING_INDEX

а я что-то другое сказал?

Цитата(Johen @ 15.2.2005, 14:25)
можно пример работы count и top?

Цитата
COUNT(expr)

Возвращает количество величин со значением, не равным NULL, в строках, полученных при помощи команды SELECT:

mysql> SELECT student.student_name,COUNT(*) FROM student,course
        WHERE student.student_id=course.student_id
        GROUP BY student_name;

Функция COUNT(*) несколько отличается от описанной выше: она возвращает количество извлеченных строк, содержащих величины со значением NULL. COUNT(*) оптимизирована для очень быстрого возврата результата при условии, что команда SELECT извлекает данные из одной таблицы, никакие другие столбцы не обрабатываются и функция не содержит выражения WHERE. Например:

mysql> SELECT COUNT(*) FROM student;

COUNT(DISTINCT expr,[expr...])

Возвращает количество различающихся величин со значением, не равным NULL:

mysql> SELECT COUNT(DISTINCT results) FROM student;

В MySQL для того, чтобы получить количество различающихся комбинаций выражений, не содержащих NULL, нужно просто задать список этих выражений. В ANSI SQL необходимо провести конкатенацию всех выражений внутри COUNT(DISTINCT ...).

Насчет TOP я ошибся - у мускула это LIMIT:
SELECT ... FROM ... ORDER BY ... LIMIT 10 - вернет 10 строк.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0666 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.