Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Два максимальных значения от count.  [new]
Elser
Member

Откуда:
Сообщений: 1
Всем добрый день.
Никак не удается решить задачу "Вывести 2-х лучших по количеству заказов продавцов, не старше 50 лет"
Сделал первую часть задачи, но уж больно нагроможденное решение получилось, понимаю, что слишком много лишнего понапихал...может кто подкинет какую идею =) ?

+
select e.lastname from
(select COUNT(OrderID) c, EmployeeID e from Orders group by EmployeeID) as t join Employees e
on t.e=e.employeeid
group by t.c, e.lastname
having t.c in (select top (2)with ties MAX(t.c) from (select COUNT(OrderID) c, EmployeeID e from Orders group by EmployeeID) as t
group by t.c
order by t.c desc ) and
order by t.c desc
22 июл 12, 20:55    [12899305]     Ответить | Цитировать Сообщить модератору
 Re: Два максимальных значения от count.  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
select top 2 with ties e.lastname from Employees e
inner join Orders o
on e.EmployeeID = o.EmployeeID
where e.[Дата рождения] > dateadd( year, -50, getdate() )
group by e.lastname
order by count(*) desc
22 июл 12, 21:47    [12899501]     Ответить | Цитировать Сообщить модератору
 Re: Два максимальных значения от count.  [new]
Читатель неместный
Guest
Похвастайтесь ещё пожалуйста вариантом, котроый бы для каждого отдела выводил 2-х лучших - возможно там есть смысл with ties??
23 июл 12, 06:50    [12900277]     Ответить | Цитировать Сообщить модератору
 Re: Два максимальных значения от count.  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10234
Блог
select top 1 with ties *
from
(
select e.lastname, [отдел], count(*) cnt
from Employees e
inner join Orders o
on e.EmployeeID = o.EmployeeID
where e.[Дата рождения] > dateadd( year, -50, getdate() )
group by e.lastname, [отдел]
) t
order by row_number() over ( partition by [отдел] order by cnt desc ) / 3
23 июл 12, 08:00    [12900325]     Ответить | Цитировать Сообщить модератору
 Re: Два максимальных значения от count.  [new]
Читатель неместный
Guest
Спасибо!!
... и даже понятно всё)
23 июл 12, 08:21    [12900348]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить