Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2016, 11:41   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

такой запрос попробуйте:
Код:
SELECT t0.`name`, t0.`phone`, t1.`count` FROM `table` t0
inner join (SELECT `phone`, count(*) as `count` FROM `table` group by `phone`) t1 on t1.`phone`=t0.`phone`
order by t0.id
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.04.2016, 12:08   #12
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
select t.name, t.phone, sts.cname
from table as t
left join ( select count(distinct name) a cname, phone
            from table 
            group by phone
         ) as sts on sts.phone =t.phone
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 18.04.2016, 12:19   #13
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию

Да, Serge_Bliznykov, спасибо. Такой запрос работает.

Upd.: Serge_Bliznykov, почему-то не правильно отображается count.

Upd2.: evg_m, Ваш вариант работает хорошо. Скажите как можно выудить какие именно name повторяются (именно в этом же запросе)? Спасибо.

Upd3.: Serge_Bliznykov, count находит все повторения, а не только "уникальные".

Последний раз редактировалось Parallelogram; 18.04.2016 в 13:48.
Parallelogram вне форума Ответить с цитированием
Старый 18.04.2016, 14:02   #14
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Скажите как можно выудить какие именно name повторяются (именно в этом же запросе)? Спасибо.
А что надо получить в результате
Цитата:
Ответом будет:
02 встретился 3 раза в уникальном имени,
04 встретился 1 раз в уникальном имени,
02 встретился 3 раза в уникальном имени,
02 встретился 3 раза в уникальном имени,
07 встретился 2 раза в уникальном имени,
03 встретился 1 раз в уникальном имени,
02 встретился 3 раза в уникальном имени,
07 встретился 2 раза в уникальном имени.
Мы в результате получили
Цитата:
evg_m, Ваш вариант работает хорошо.
Код:
Сережа | 07 | 2
Коля | 03 | 1
Даша | 07 | 2
Валя | 02 | 3
Миша | 02 | 3
Лера | 04 | 1
Сара | 02 | 3
Миша | 02 | 3
Что еще должно быть в этом результате?
Код:
Сережа | 07 | 2 | Даша ???
и как быть если результатов может быть несколько ???
Код:
Валя | 02 | 4 | Миша ? Сара?  
Миша | 02 | 4 | Валя ? Сара?
Код:
left join ( select name, phone 
              from table 
              group by name, phone
              having count(*)>1
           ) as dbl on dbl.phone = t.phone
Код:
left join ( select name, phone, count(*) as stat 
              from table 
              group by name, phone
              having count(*)>1
           ) as dbl on dbl.phone = t.phone  
                                         and dbl.stat>1
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.04.2016 в 14:08.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет уникальных значений по условию xamillion Microsoft Office Excel 6 02.04.2015 18:53
подсчет числа уникальных массивов lawliet1391 Помощь студентам 2 28.03.2013 17:28
Подсчет уникальных в дате strannick Microsoft Office Excel 15 03.03.2013 18:59
Не работает подсчет уникальных значений AllenJ Microsoft Office Excel 16 13.10.2012 17:29
подсчет уникальных ячеек с небольшими но... mr.null Microsoft Office Excel 17 21.06.2011 09:21