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

Откуда: Кострома
Сообщений: 42
привет всем,
проблемка возникла.. у меня запрос вытягивает из базы Цены и ID товаров и их объем, всё в хаотичном порядке.. потом надо отсортировать это по цене и выдать в виде id, цена, объем, сумма объема

например

18  25,95  400  400
37  19,95  200  600
11  22,30  100  700


а после того, как я отсортировал по цене он мне селектить из запроса не даёт :)
20 фев 12, 13:12    [12121897]     Ответить | Цитировать Сообщить модератору
 Re: SELECT after ORDER BY  [new]
iljy
Member

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

ну так сначала выберите все, что вам нужно, а потом сортируйте
20 фев 12, 13:13    [12121909]     Ответить | Цитировать Сообщить модератору
 Re: SELECT after ORDER BY  [new]
Lae
Member

Откуда: Кострома
Сообщений: 42
вопрос не в выборе.. а в том, как сумму по последней колонке пихнуть..
20 фев 12, 13:17    [12121962]     Ответить | Цитировать Сообщить модератору
 Re: SELECT after ORDER BY  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Lae,

ищите по форуму нарастающий итог
либо faq - нарастающий итог
20 фев 12, 13:20    [12122017]     Ответить | Цитировать Сообщить модератору
 Re: SELECT after ORDER BY  [new]
user89
Member

Откуда:
Сообщений: 2083
Lae,
не совсем понятно...

Если
всё в хаотичном порядке.. потом надо отсортировать это по цене и выдать в виде id, цена, объем, сумма объема
, то возможно так:
declare @t table (id int, cost money, volume int)
insert @t
  select 18, 25.95, 400 union all select 37, 19.95, 200 union all select 11, 22.30, 100

;with cte as (
  select *, row_number() over (order by cost) [rn] from @t
)
select t1.rn, max(t1.cost) [cost], max(t1.volume) [volume], sum(t2.volume) [total]
from cte t1
left join cte t2 on t2.rn <= t1.rn
group by t1.rn
20 фев 12, 15:39    [12123617]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить