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

Откуда:
Сообщений: 9
Всем привет. Предположим есть таблица вида

Товар Склад Цена Количество

Яблоко Оптовый 100 5
Яблоко Оптовый 200 6
Яблоко Розничный 300 7
Яблоко Розничный 300 8


Нужно полулить на выходе что то вроде


Яблоко Оптовый 100 5
Яблоко Розничный 300 8

т.е Товар склад Минимум по цене Количество из записи с минимальной ценой (при прочих равных максимальное количество)

на ум приходит джоин с вложенным запросом , в котором посчитана минимальная цена по товару и складу. Но может есть другие варианты?
18 июн 15, 16:05    [17788262]     Ответить | Цитировать Сообщить модератору
 Re: можно ли так сгруппировать  [new]
Владислав Колосов
Member

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

можно использовать нумерацию по группе с сортировкой row_number() over() и фильтром по первому номеру. Но надо смотреть, что эффективнее - объединение или нумерация.
18 июн 15, 17:00    [17788586]     Ответить | Цитировать Сообщить модератору
 Re: можно ли так сгруппировать  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
deemaa, если версия >=2012, то подойдет FIRST_VALUE:

select distinct [Товар], [Склад]
       , FIRST_VALUE([Цена]) over (partition by [Товар], [Склад] order by [Цена])
       , FIRST_VALUE([Количество]) over (partition by [Товар], [Склад] order by [Цена], [Количество] desc)
from [таблица]
18 июн 15, 17:06    [17788640]     Ответить | Цитировать Сообщить модератору
 Re: можно ли так сгруппировать  [new]
Добрый Э - Эх
Guest
deemaa,

читай и просвещайся
18 июн 15, 18:06    [17789097]     Ответить | Цитировать Сообщить модератору
 Re: можно ли так сгруппировать  [new]
Okmor
Member

Откуда:
Сообщений: 132
кури outer apply . не за компом - пример дать не могу. Им выборки группировки по соседнему значению проще всего делать.
18 июн 15, 21:22    [17789796]     Ответить | Цитировать Сообщить модератору
 Re: можно ли так сгруппировать  [new]
deemaa
Member

Откуда:
Сообщений: 9
ох спасибо ребята, столько нового узнал
19 июн 15, 09:31    [17790917]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить