Re: how to create aggregate xml document in 8.3?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: how to create aggregate xml document in 8.3?
Дата
Msg-id 20231.1197395992@sss.pgh.pa.us
обсуждение исходный текст
Ответ на how to create aggregate xml document in 8.3?  ("Matt Magoffin" <postgresql.org@msqr.us>)
Ответы Re: how to create aggregate xml document in 8.3?
Список pgsql-general
"Matt Magoffin" <postgresql.org@msqr.us> writes:
> Hello, I'm trying to write a query to return an XML document like
> <root foo="bar">
>   <range range="x" count="123">
>   <range range="y" count="345">
>   ...
> </root>

Something like this:

regression=# select xmlelement(name root, xmlagg(x)) from
regression-#   (select xmlelement(name range, xmlattributes(string4, count(*) as count)) as x from tenk1 group by
string4)ss; 
                                                                              xmlelement
                                               

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 <root><range string4="OOOOxx" count="2500"/><range string4="AAAAxx" count="2500"/><range string4="HHHHxx"
count="2500"/><rangestring4="VVVVxx" count="2500"/></root> 
(1 row)

You need a subquery because your setup requires two levels of
aggregation: one to make the grouped counts, and then another one
for the xmlagg() (which is basically just text concatenation).

            regards, tom lane

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

Предыдущее
От: "Stanislav Raskin"
Дата:
Сообщение: Re: Understanding Aliases
Следующее
От: "Scott Marlowe"
Дата:
Сообщение: Re: top posting (was: Hijack!)