Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

помогите с запросом SQL [Любая]


Raphael ©   (2005-12-13 13:09:00) 

Есть таблица. В первой колонке номера телефонов(абсолютно различные), а во второй те кто звонил на эти номера (гдето 6-7 ).

Нужно выбрать те телефоны кторые встречаются хотя бы у двух звонящих.
Пример:
Петя звонил васе, и коля звонил васе --> вася подходит по условию задачи, А если тока петя звонил хоть 10 раз васе и более никто, то вася не подходит.
причом сравнение номеров чтоб было по поледним 6 ти цифрам...
У меня получилось тока выбрать повторяющиеся номера
select  number, count(person) from tbl
group by number
having count(person)> 1


Raphael   (2005-12-13 14:56:00) [1]

>>Sergey13 ©   (13.12.05 13:59) [3]

Как вариант.

select  number, count(person) from
(select  distinct number, person from tbl )
group by number
having count(person)> 1

Данный вариант мне подошел.
Благодарю.


evvcom   (2005-12-13 14:21:00) [2]

Несостыковочка:

> В первой колонке номера телефонов( абсолютно различные),
> а во второй те кто звонил на эти номера

и

> Петя звонил васе, и коля звонил васе

противоречат друг другу. Звонили Васе, значит его в первую колонку. Получаем 2 строки с абсолютно одинаковыми, а не различными номерами. :)


Sergey13   (2005-12-13 13:59:00) [3]

Как вариант.

select  number, count(person) from
(select  distinct number, person from tbl )
group by number
having count(person)> 1


sniknik   (2005-12-13 13:33:00) [4]

а так?
select  number, person, count(*) as col from tbl
group by number, person
having count(*) > 1


а вот выбрать "по поледним 6 ти цифрам..." не получится для лубой базы. только для конкретно указанной.


Johnmen   (2005-12-13 13:23:00) [5]

Вроде так
select  number, count(person) from tbl
group by number
having count(distinct person)> 1


Наверх

Титульная страница Поиск, карта сайта Написать письмо