[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: получение
Страницы: 1, 2
pavel
Цитата(Ghost @ 24.7.2007, 14:23) [snapback]25158[/snapback]
может глюк версии мускля.
на 4.1.22 - все ок.
какой тип сравнений установлен для реф и ип?

Везде cp1251_general_ci
Щас попробую на другой версии

_____________
Ghost
обойти то все это конечно можно сделав так
SELECT COUNT(*), concat(lower(trim(refer)), '!!!!!' , ip) as grupirovka FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY grupirovka;

но должно работать и без таких извращений
pavel
Цитата(Ghost @ 24.7.2007, 16:13) [snapback]25166[/snapback]
обойти то все это конечно можно сделав так
SELECT COUNT(*), concat(lower(trim(refer)), '!!!!!' , ip) as grupirovka FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY grupirovka;

но должно работать и без таких извращений

Подошло бы и с извращениями.
Ты будешь смеяться, но он все равно в калонке count стоит цифрра 2 напротив запроса, которых 2.
Как такое может быть я уже не знаю. Может я чего-то торможу...
Если есть желание, лови дамп http://bricat.net/stat.sql.gz попробуй у себя сделать запрос.
Там 45 и 995 записи идентичны (кроме id), но считаются как две...

_____________
Ghost
там и должно 2 стоять. 2 - это количество записей в группировке.главное чтоб запрос вывдавал это как одну запись, а не как 2
все работает с нормальным вариантом
SELECT COUNT(*), lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;

подумай еще раз какие данные ты хочешь получить
pavel
Цитата(Ghost @ 25.7.2007, 14:56) [snapback]25214[/snapback]
там и должно 2 стоять. 2 - это количество записей в группировке.главное чтоб запрос вывдавал это как одну запись, а не как 2
все работает с нормальным вариантом
SELECT COUNT(*), lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;

подумай еще раз какие данные ты хочешь получить

По-сути мне нужно посчитать колличество обращений по каждому запросу с яндекса который присутствует в БД, НО если один и тот же пользователь 10 раз заходит по одному запросу с одного ip-шника считать это как один а не как 10

_____________
Ghost
SELECT lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;
mysql_num_rows()
pavel
Цитата(Ghost @ 25.7.2007, 15:19) [snapback]25219[/snapback]
SELECT lower(trim(refer)) as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref;
mysql_num_rows()

таким образом я получу количество всех найденных существующих запросов по ОТДЕЛЬНОСТИ
а я хочу на выходе получить таблицу:

"программирование" - 20
"программирование на php" - 5
"php" - 2

(ну естественно вместо "программирование" - url, кот выдает яндекс при обращении к слову программирование http://www.yandex.ru/yandsearch?rpt=rad&am...%E2%E0%ED%E8%E5)

и все это с учетом условий уникальности, описанными в прошлои топике

_____________
Ghost
а, дошло smile.gif те нужно что-то вроде этого
select count(*) From (SELECT refer as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref) as tst group by ref
pavel
Цитата(Ghost @ 25.7.2007, 16:12) [snapback]25222[/snapback]
а, дошло smile.gif те нужно что-то вроде этого
select count(*) From (SELECT refer as ref, ip FROM `stat` WHERE refer LIKE '%www.yandex.ru%' GROUP BY ip, ref) as tst group by ref

Вроде получается огромное СПАСИБО! smile.gif

_____________
Быстрый ответ:

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