Re: Aggregates, group, and order by

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: Aggregates, group, and order by
Дата
Msg-id 436F19BF.3050401@joeconway.com
обсуждение исходный текст
Ответ на Aggregates, group, and order by  (Michael Glaesemann <grzm@myrealbox.com>)
Ответы Re: Aggregates, group, and order by  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
Michael Glaesemann wrote:
> I'm trying to concatenate strings in variable orders using a custom
> aggregate. However, I'm having a difficult time figuring out the SQL  I
> need to use to accomplish this. Here's a test case that shows the  error
> I'm getting.

> select bar_id, array_accum(foo_value)
> from ordered_foo
> group by bar_id
> order by bar_id;
> bar_id |         array_accum
> --------+-----------------------------
>       1 | {delta,alpha,charlie,bravo}
>       2 | {C,B,A,D}
>
>
> The result I'd like to see is
> bar_id |         array_accum
> --------+-----------------------------
>       1 | {alpha,bravo,charlie,delta}
>       2 | {A,B,C,D}

Just use a subselect --  you're looking for this, correct?

regression=# select bar_id, array_accum(foo_value) from (select * from
ordered_foo order by foo_pos) as ss group by bar_id order by bar_id;
  bar_id |         array_accum
--------+-----------------------------
       1 | {alpha,bravo,charlie,delta}
       2 | {A,B,C,D}
(2 rows)

HTH,

Joe

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

Предыдущее
От: David Fetter
Дата:
Сообщение: Re: Aggregates, group, and order by
Следующее
От: Michael Glaesemann
Дата:
Сообщение: Re: Aggregates, group, and order by