Re: Return relation table data in a single value CSV

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Return relation table data in a single value CSV
Дата
Msg-id 18788.1077060834@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Return relation table data in a single value CSV  (Richard Huxton <dev@archonet.com>)
Ответы Re: Return relation table data in a single value CSV  (Richard Huxton <dev@archonet.com>)
Список pgsql-sql
Richard Huxton <dev@archonet.com> writes:
> 2. Write a custom aggregate function (like sum()) to do the concatenation. 
> This is easy to do, but the order your ABC get processed in is undefined.

Actually, as of 7.4 it is possible to control the order of inputs to a
custom aggregate.  You do something like this:
SELECT foo, myagg(bar) FROM  (SELECT foo, bar FROM table ORDER BY foo, baz) AS ssGROUP BY foo

The inner sub-select must order by the columns that the outer will group
on; it can then order by additional columns that determine the sort
order within each group.  Here, myagg() will see its input ordered by
increasing values of baz.

Before 7.4 this method didn't work because the planner was too stupid to
avoid re-sorting the subquery output.  You could only make it work in
cases where you weren't doing grouping ...
        regards, tom lane


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

Предыдущее
От: elein
Дата:
Сообщение: Re: CHAR(n) always trims trailing spaces in 7.4
Следующее
От: Tom Lane
Дата:
Сообщение: Re: CHAR(n) always trims trailing spaces in 7.4