|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
максимальное количесвто ?...
допустим, есть таблица заказы , в ней указывается id_отеля, на который делается заказ, и дата заказа. Как найти отель, который чаще всего заказывают. Количесвто заказов по каждому отелю нашла :
SELECT отели.Название, Count(заказы.отель) AS [Количество заказов] FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель GROUP BY отели.Название; а воть как найти максимальное число заказов, используя этот запрос. |
#2
|
||||
|
||||
Какой СУБД используете?
|
#3
|
||||
|
||||
Можно вот так:
Код:
SELECT top 1 отели.Название, Count(заказы.отель) AS [Количество заказов] FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель GROUP BY отели.Название order by Count(Таблица2.Заказы) desc Если вы используете Access, ничего умнее я не придумал кроме: Код:
SELECT [t1].Название, [t1].[Количество заказов] FROM ( SELECT отели.Название, Count(заказы.отель) as [Количество заказов] FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель group by отели.Название ) AS [t1] where [t1].[Количество заказов]=(select max( [t2].[Количество заказов])from ( SELECT отели.Название, Count(заказы.отель) as [Количество заказов] FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель group by отели.Название ) as t2) А если используете SQL Server, тогда: Код:
declare @t1 table ([Название] varchar (50),[Количество заказов] int) insert into @t1 SELECT отели.Название, Count(заказы.отель) as [Количество заказов] FROM отели INNER JOIN заказы ON отели.id_отеля = заказы.отель group by отели.Название select * from @t1 as t1 where t1.[Количество заказов]=(select max(t2.[Количество заказов]) from @t1 as t2) |
#4
|
|||
|
|||
использую access. большое спасибо!
|