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

Откуда: Vladivostok
Сообщений: 33
есть таблица :
declare @table table (nomer int, imya nvarchar(100), price money)

insert @table values (1, 'вода' , 400)
insert @table values (2, 'кура' , 120)
insert @table values (3, 'мясо' , 300)
insert @table values (4, 'мясо' , 320)
insert @table values (6, 'масло', 250)
insert @table values (7, 'масло', 260)


надо написать запрос, чтобы получить уникальную выборку товаров, ориентируясь на максимальную цену
то етсь должно получиться:

1 вода 400
2 кура 120
4 мясо 320
7 масло 260

заранее спасибо.
30 июл 12, 09:42    [12932901]     Ответить | Цитировать Сообщить модератору
 Re: выборка  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
top (1) with ties
...
order by
  row_number() over (partition by imya  order by price  desc)


или GROUP BY
30 июл 12, 09:45    [12932915]     Ответить | Цитировать Сообщить модератору
 Re: выборка  [new]
aksuz
Member

Откуда: Vladivostok
Сообщений: 33
я малость хреново разбираюсь в SQL можно чуток конкретней? или рассказать что это все делает и как работает?
30 июл 12, 09:50    [12932935]     Ответить | Цитировать Сообщить модератору
 Re: выборка  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
aksuz
я малость хреново разбираюсь в SQL можно чуток конкретней? или рассказать что это все делает и как работает?

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

так вот и разберитесь, чтобы малость хреново перерасло в сильно и отлично

а по теме
top (1) with ties

Указывает на то, что будет возвращен только первый набор строк из результата запроса
WITH TIES 

Указывает на то, что будут возвращены дополнительные строки из основного результирующего набора с тем же значением в столбцах ORDER BY, которые появляются как последние из TOP n (PERCENT) строк. Предложение TOP...WITH TIES может быть задано только в инструкциях SELECT, и только если указано предложение ORDER BY
order by
  row_number() over (partition by imya  order by price  desc)

как раз и указывает, как сортировать набор
30 июл 12, 09:57    [12932974]     Ответить | Цитировать Сообщить модератору
 Re: выборка  [new]
user89
Member

Откуда:
Сообщений: 2083
aksuz,

8947782
30 июл 12, 10:51    [12933263]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить