Re: Group by and aggregates

Поиск
Список
Период
Сортировка
От Edmund Bacon
Тема Re: Group by and aggregates
Дата
Msg-id 418A6831.9060306@onesystem.com
обсуждение исходный текст
Ответ на Group by and aggregates  ("Michael L. Hostbaek" <mich@the-lab.org>)
Список pgsql-sql
Michael L. Hostbaek wrote:
> List, 
> 
> I've got a table looking something like this:
> 
> my_table
>     some_id int bla bla,
>     partno varchar(100),
>     status varchar(100),
>     cmup numeric(14,2),
>     qty int
> 
> My SQL select statement will then group together partno, status and
> aggregate sum(qty) and max(cmup). This is all good and nice.
> 
> My result will look something like this:
> 
> partno    status        cmup    qty
> test1    stock        10.00    15
> test1    incoming    15.00    71
> test2    incoming    12.00    10
> 
> Now, I need the first line to say "15.00" in the cmup field. That is,
> stock and incoming are obviously not being grouped, but since it's the
> same partno I'd like somehow to show the highest cmup. Is there some
> black SQL voodoo that'll achieve this ?
>

You *CAN* sort by aggregates
e.g.

select partno, status, sum(cmup) as cmup, sum(qty) as qty   from my_table   group by partno, status   order by partno,
sum(cmup)desc;
 
 partno |  status  | cmup | qty
--------+----------+------+----- test1  | incoming |   29 |  71 test1  | stock    |   10 |  15 test2  | incoming |   12
| 10
 


-- 
Edmund Bacon <ebacon@onesystem.com>


В списке pgsql-sql по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: Group by and aggregates
Следующее
От: Franco Bruno Borghesi
Дата:
Сообщение: Re: Group by and aggregates