SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 22.12.2011 10:02:00

mcclaren215
Участник
Зарегистрирован: 22.12.2011
Сообщений: 4

найти максимум среди отделов.

Здравствуйте, помогите пожалуйста, у меня задание :
Определить, в каком отделе (отделах) работает больше всего сотрудников.
если я пишу
select nomerotdela, count(*)
from rabi
group by nomerotdela;
Он мне конечно посчитает сотрудников в каждом отделе. Но как связать с максимумом?
через where exists(select count(*) from rabi where max(count(*))); но не работает. Я не могу понять как связать их в одно целое.По заданию мне нужно сделать без использования представлений.
Помогите пожалуйста. Заранее спасибо.

Отредактированно mcclaren215 (22.12.2011 11:05:11)

Неактивен

 

#2 22.12.2011 11:11:12

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: найти максимум среди отделов.

select nomerotdela, count(*)
from rabi
group by nomerotdela order by 2 desc limit 1;

Неактивен

 

#3 22.12.2011 11:13:32

mcclaren215
Участник
Зарегистрирован: 22.12.2011
Сообщений: 4

Re: найти максимум среди отделов.

vasya написал:

select nomerotdela, count(*)
from rabi
group by nomerotdela order by 2 desc limit 1;

спасибо, но разве тогда не получается, что если у меня в 2 отделах максимум работников или в 3 отделах, из-за limit 1 он у меня выдаст только 1 из них?

Неактивен

 

#4 22.12.2011 11:21:51

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: найти максимум среди отделов.

Верное замечание, тогда

select t2.nomerotdela from
(select count(*) m from rabi group by nomerotdela order by m desc limit 1) t1
join
(select nomerotdela, count(*) k from rabi group by nomerotdela) t2 on t1.m=t2.k;

Неактивен

 

#5 22.12.2011 11:31:38

mcclaren215
Участник
Зарегистрирован: 22.12.2011
Сообщений: 4

Re: найти максимум среди отделов.

Спасибо огромное, все работает.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson