[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: получение
Страницы: 1, 2
pavel
Имеется БД для сборастатистики обращения к web-серверу статистики с полями id,ip, refer
Если требуется по каким запросам люди заходят, например, с яндекса выполняем запрос

Код
SELECT refer, COUNT(refer) FROM stat`  WHERE refer LIKE '%www.yandex.ru%' GROUP BY refer;


Здесь идет выборка по всем ip-шникам

Внимание вопрос: как сделать средствами MySQL чтобы из базы были исключены записи, в которых заначение полей ip и refer одинаковы.
(нужна выборка по уникальным ip-шникам)

З.Ы. сори за название топика, проглядел rolleyes.gif

_____________
Ghost
group by
pavel
Цитата(Ghost @ 20.7.2007, 14:01) [snapback]25033[/snapback]
group by

что group by?

_____________
Ghost
для достижения желаемого результата надо заюзать group by

подробнее тут
pavel
Цитата(Ghost @ 20.7.2007, 19:50) [snapback]25051[/snapback]
для достижения желаемого результата надо заюзать group by

подробнее тут

То что нужно как-то использовать group by, я, конечно, догадался.
Форум это место где обсуждается какая-то тема. Если она тебе не интересна, то и не отвечай. То что всё написано в мануале я думаю представляет себе любой здравомысляший человек. (Если ты думаешь, что мануал я в глаза не видел - посмотри на пример запрос выше, вроде совсем неведающий такой запрос не составит)

Если есть мысли, (часть инфы записать во временную таблицу, сделать двухтабличный запрос, потом со всем этим еще что сделать smile.gif и т.п. ) - буду рад обсудить.

_____________
vasa_c
Не гони, гонщик. Ты вопрос сформулируй сначала нормально.
Цитата
чтобы из базы были исключены записи
(нужна выборка по уникальным ip-шникам)

Так они не должны попасть в выборку или должны быть удалены из базы?
Цитата
в которых заначение полей ip и refer одинаковы.

Что это значит?
Нужно выбрать уникальные ip? Или удалить из базы все неуникальные? Или удалить из базы вообще все, которым есть пара.
Две выборки по ip и по refer? Или уникальность распространяется на пару (ip, refer)?

_____________
Блог ГО | Таблица символов Юникода | Графомания
Ghost
Цитата
Если ты думаешь, что мануал я в глаза не видел - посмотри на пример запрос выше, вроде совсем неведающий такой запрос не составит

абалденно сложный запрос smile.gif

длина запроса в котором мне пришлось как-то раз искать ошибку составляла 4 вордовских страницы, за шривф не помню, тль 12, толь 14

раз догадался что как-то надо использовать - выкладывай свои варианты и их обудим.
Писать запросы я ни за кого не хочу
pavel
Цитата(vasa_c @ 23.7.2007, 12:35) [snapback]25112[/snapback]
Не гони, гонщик. Ты вопрос сформулируй сначала нормально.
Цитата
чтобы из базы были исключены записи
(нужна выборка по уникальным ip-шникам)

Так они не должны попасть в выборку или должны быть удалены из базы?
Цитата
в которых заначение полей ip и refer одинаковы.

Что это значит?
Нужно выбрать уникальные ip? Или удалить из базы все неуникальные? Или удалить из базы вообще все, которым есть пара.
Две выборки по ip и по refer? Или уникальность распространяется на пару (ip, refer)?


Из базы удалять ничего не нужно. Нужна выборка аналогичная вот этой
Код
SELECT refer, COUNT(refer) FROM stat  WHERE refer LIKE '%www.yandex.ru%' GROUP BY refer;


только считать две записи у которых одинаковы поля refer и ip не нужно - она должна считаться как одна уникальная запись

Цитата
длина запроса в котором мне пришлось как-то раз искать ошибку составляла 4 вордовских страницы, за шривф не помню, тль 12, толь 14

рад что ты такой умный smile.gif

я не прошу написать запрос за меня, а прошу совет как это можно организовать...

_____________
vasa_c
ghost, pavel, хватит меряться запросами )
group by `refer`, `ip` не подходит?

_____________
Блог ГО | Таблица символов Юникода | Графомания
pavel
Цитата(vasa_c @ 23.7.2007, 15:38) [snapback]25127[/snapback]
ghost, pavel, хватит меряться запросами )
group by `refer`, `ip` не подходит?

пробовал...
Почему-то, нет. Одинаковые записи все равно считаются как разные...

_____________
Ghost
а зачем группировать по refer? Нужны идентичное сопоставление или приблизительное?
если идентичное, (кстати о пробелах) - все должно работать, если приблизительное нужно заменить группировку c `referer`на `ip`
кстати сделай вот так для проверки

SELECT COUNT(*), refer, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, refer;
pavel
Цитата(Ghost @ 23.7.2007, 17:14) [snapback]25132[/snapback]
а зачем группировать по refer? Нужны идентичное сопоставление или приблизительное?
если идентичное, (кстати о пробелах) - все должно работать, если приблизительное нужно заменить группировку c `referer`на `ip`
кстати сделай вот так для проверки

SELECT COUNT(*), refer, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, refer;

Хотелось бы идентичное
Та же фигня sad.gif Две строки с идентичными значениями refer,ip считаются как две... Будем думать...


_____________
Ghost
кстати, какой мускул?

SELECT COUNT(*), lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;
pavel
Цитата(Ghost @ 23.7.2007, 17:40) [snapback]25135[/snapback]
кстати, какой мускул?

SELECT COUNT(*), lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;

Мускул 4.1.16
То же самое. Пробелы точно не причем. Я сам искуственно 2 строки одинаковые создавал. Считает их за 2 и все...

_____________
Ghost
может глюк версии мускля.
на 4.1.22 - все ок.
какой тип сравнений установлен для реф и ип?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.