Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Ordering of records in group by not possible



Hello all,

I wanted to verify what we are seeing.

Select a, aggregate(b)
from c
group by a
order by a,b

Is not accepted by postgres.  This will only work if you order by a.  But, 
this means that the records that are grouped are processed in no apparent 
order.

We have some custom aggregate functions where the order of the rows is 
important.  Is there no way to do this without a subselect?

select a,aggregate(b)
from (
   select a,b
   from c
   order by a,b
) as foo
group by a
order by a

Even with a subselect doing the ordering ahead of time, is there any 
guarrantee that the records will be processed in the group by with the 
specified order?  Or will the group by always be arbitrary in it's ordering 
of the records?

This is pg 8.1 on Linux.

Thanks,

-chris
-- 
Chris Kratz



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group