Re: Picking the first of an order in an aggregate query
От | Jack Christensen |
---|---|
Тема | Re: Picking the first of an order in an aggregate query |
Дата | |
Msg-id | 50E1A49B.3000905@jackchristensen.com обсуждение исходный текст |
Ответ на | Picking the first of an order in an aggregate query (Robert James <srobertjames@gmail.com>) |
Ответы |
Re: Picking the first of an order in an aggregate query
Re: Picking the first of an order in an aggregate query |
Список | pgsql-general |
On 12/31/2012 8:33 AM, Robert James wrote: > I have a query > > SELECT grouping_field, MIN(field_a), MIN(field_b) > FROM ... > GROUP BY grouping_field > > But, instead of picking the MIN field_a and MIN field_b, I'd like to > pick field_a and field_b from the first record, according to an order > I'll specify. In pseudo-SQL, it would be something like this: > > SELECT grouping_field, FIRST(field_a), FIRST(field_b) > FROM ... > ORDER BY field_c DESC, field_d ASC, myfunc(field_e) ASC > GROUP BY grouping_field > > How can I do that with Postgres? > > select distinct on (grouping_field), field_a, field_b from ... order by grouping_field, field_a asc, field_b asc http://www.postgresql.org/docs/9.2/static/sql-select.html#SQL-DISTINCT -- Jack Christensen http://jackchristensen.com/
В списке pgsql-general по дате отправления: