SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.08.2009 23:35:58

ley
Участник
Зарегистрирован: 19.02.2009
Сообщений: 6

Помогите с запросом из таблицы лога посещений

Надо отобрать ip, которые посетили url1, но после этого не посетили url2.
Смысл задачи - найти пользователей, которые при заполении формы на сайте дошли до страницы проверки введенных данных (url1), но не нажали последную кнопку "отправить" (после этого редирект на url2).

Неактивен

 

#2 25.08.2009 00:11:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом из таблицы лога посещений

select * from
(select ip from table_log where url='url1') a left join
(select * from table_log where url='url2') b using(ip) where b.url is null;

Неактивен

 

#3 25.08.2009 00:14:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Помогите с запросом из таблицы лога посещений

Добавлю, что задача поставлена некорректно. Есть много мест, откуда люди регистрируются
с одного IP (допустим, организации). Есть даже города, которые все выходят из-за одного IP.

Правильный способ — использовать cookie, в которых, кстати, и хранить — дошел пользователь
или нет.

Неактивен

 

#4 25.08.2009 00:26:10

ley
Участник
Зарегистрирован: 19.02.2009
Сообщений: 6

Re: Помогите с запросом из таблицы лога посещений

vasya,
спасибо, сейчас попробую

paulus,
про куки знаю, и буду добавлять их в статистику

Неактивен

 

#5 25.08.2009 00:31:25

ley
Участник
Зарегистрирован: 19.02.2009
Сообщений: 6

Re: Помогите с запросом из таблицы лога посещений

vasya,
а как вставить проверку на то, что посещения url2 не было ПОСЛЕ посещения url1?

Неактивен

 

#6 25.08.2009 01:03:31

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Помогите с запросом из таблицы лога посещений

SELECT * FROM
(SELECT * FROM table_log WHERE url='url1') a LEFT JOIN
(SELECT * FROM table_log WHERE url='url2') b USING(ip) WHERE b.url IS NULL or a.date_column > b.date_column;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson