Новости
Документация
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

> Original message text:
> 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 как-то сравнивать таблицы(много-много) на пересечения, а спросить не у кого.
> Заранее спасибо.
>


From: zkv311ot1986 - 22/03/2010 - 14:00:08
Subject:Функция от функции max(avg id)
-----------------
Вопрос с MAX(AVG ID) решился вот так:
select max(m.count) from
(select id_hoz, count(id_hoz) as count from link_hoz_proc
where id_proc=1 or id_proc=2 or id_proc=3
group by id_hoz) as m;
Проблемы это правда не решило.
Не понятно как определить набрал я
1 -> (1, 2, 4) и 2 -> (1, 2, 4).
Или получилось
1 -> (1, 2, 4) и 2 -> (1, 3, 4).


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

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

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



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