Подскажите логику выборки

FRIE

Новичок
Я сделал во внутреннем сайте статистику, там менеджеры спрашивают у клиента откуда он пришёл(яндекс, гугл, постоянный клиент, знакомые и прочее..). Клиент забивается в базу, а его уникальным идентификационным номером является контактный номер телефона в формате 89031234567 без пробелов и черточек всяких.

В поле откуда он о нас узнал ставится отметка - например from='yandex' или если он постоянный то from= 'postoyanniy'. Если он первый раз пришел из поиска то создаётся новая запись и ставится отметка from= 'yandex' . А если он постоянный то так же создаётся отдельная запись и ставится отметка from='postoyanniy'.

И необходимо сделать выборку - сколько клиентов пришло изначально из поиска, а затем стали постоянными.
 

baev

‹°°¬•
Команда форума
И в чём проблема?
Считайте уникальные («DISTINCT») номера телефонов, для которых есть и «yandex» и («AND») «postoyanniy».
 

prolis

Новичок
его уникальным идентификационным номером является контактный номер телефона в формате 89031234567 без пробелов и черточек всяких.
И необходимо сделать выборку - сколько клиентов пришло изначально из поиска, а затем стали постоянными.
Если номер телефона действительно уникальный в рамках таблицы - то никак. А если нет то:
Код:
select distinct t1.phone
from table t1, table t2
where
t1.phone=t2.phone 
and t.from ='yandex'
and t2.from='postoyanniy'
 

FRIE

Новичок
Если номер телефона действительно уникальный в рамках таблицы - то никак. А если нет то:
Код:
select distinct t1.phone
from table t1, table t2
where
t1.phone=t2.phone 
and t.from ='yandex'
and t2.from='postoyanniy'
Уникальный автоинкрементный это id. А телефон уникальный как идентификационный.

В вашем запросе присутствует вторая таблица. У меня она всего одна
 

SkyLine

Новичок
В этом запросе используется одна таблица table, а t1 и t2 это ее алиасы.

Этот запрос не учитывает что произошло раньше, пришел клиент из поисковика, а потом постоянный или наоборот.
Можно написать запрос так:
PHP:
select distinct t1.phone
from table t1, table t2
where
t1.phone=t2.phone 
and t1.from ='yandex'
and t2.from='postoyanniy'
and t2.id>t1.id
 

FRIE

Новичок
В этом запросе используется одна таблица table, а t1 и t2 это ее алиасы.

Этот запрос не учитывает что произошло раньше, пришел клиент из поисковика, а потом постоянный или наоборот.
Можно написать запрос так:
PHP:
select distinct t1.phone
from table t1, table t2
where
t1.phone=t2.phone 
and t1.from ='yandex'
and t2.from='postoyanniy'
and t2.id>t1.id
Спасибо, попробую
 
Сверху