Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Внизпомогите с запросом SQL Найти похожие ветки
← →
Raphael (2005-12-13 13:09) [0]Есть таблица. В первой колонке номера телефонов(абсолютно различные), а во второй те кто звонил на эти номера (гдето 6-7 ).
Нужно выбрать те телефоны кторые встречаются хотя бы у двух звонящих.
Пример:
Петя звонил васе, и коля звонил васе --> вася подходит по условию задачи, А если тока петя звонил хоть 10 раз васе и более никто, то вася не подходит.
причом сравнение номеров чтоб было по поледним 6 ти цифрам...
У меня получилось тока выбрать повторяющиеся номераselect number, count(person) from tbl
group by number
having count(person)> 1
← →
Johnmen © (2005-12-13 13:23) [1]Вроде так
select number, count(person) from tbl
group by number
having count(distinct person)> 1
← →
sniknik © (2005-12-13 13:33) [2]а так?
select number, person, count(*) as col from tbl
group by number, person
having count(*) > 1
а вот выбрать "по поледним 6 ти цифрам..." не получится для лубой базы. только для конкретно указанной.
← →
Sergey13 © (2005-12-13 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) [4]Несостыковочка:
> В первой колонке номера телефонов(абсолютно различные),
> а во второй те кто звонил на эти номера
и
> Петя звонил васе, и коля звонил васе
противоречат друг другу. Звонили Васе, значит его в первую колонку. Получаем 2 строки с абсолютно одинаковыми, а не различными номерами. :)
← →
Raphael (2005-12-13 14:56) [5]>>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
Данный вариант мне подошел.
Благодарю.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c