Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Функция от функции max(avg id) (zkv311ot1986) 22/03/2010 - 13:28:32
      Re: Функция от функции max(avg id) (zkv311ot1986) 22/03/2010 - 14:00:08



From: zkv311ot1986 - 22/03/2010 - 13:28:32
Subject:Функция от функции max(avg id)
-----------------
Есть таблица связей ID все со всеми типа:
1 -> 1
1 -> 2
1 -> 3
2 -> 1
2 -> 2
3 -> 1
3 -> 2
3 -> 3
3 -> 4
Мне нужно отобрать такие ID2 которые связаны с пересечением всех связей, т.е.:
1 -> (1, 2, 3)
2 -> (1, 2, 3)
3 -> (1, 2, 3).
Я решил заранее задавать все возможные ID2 в запросе
where ID2 in (1,2,3)
при этом считая количество всех записей по отношению к ID1
select ID1, count(ID1) from link
where ID2 in (1, 2, 3)
group by ID1;
все класно: я получил таблицу, в которой задано количество вхождений в заданное множество.
Теперь я хочу найти среди них MAX максимальное и вывести те ID1, у которых это количество совпадает с MAX.
Но вылетает ошибка уже на
select max(count(ID1)) from (select ID1, count(ID1) from link
where ID2 in (1, 2, 3)
group by ID1);
Если бы все получилось наверное сделал бы так:
select ID1, count(ID1) from link
where ID2 in (1, 2, 3) and having count(ID1) = (MAX)
group by ID1;
=
select ID1, count(ID1) from link
where ID2 in (1, 2, 3) and having count(ID1) =
(select max(count(ID1)) from (select ID1, count(ID1) from link
where ID2 in (1, 2, 3)
group by ID1))
group by ID1;

Я понимаю, что нихрена не знаю, пытался найти ответ в мануале, видимо не там искал. Мне просто интересно может ли MYSQL как-то сравнивать таблицы(много-много) на пересечения, а спросить не у кого.
Заранее спасибо.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
36915



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |