public inbox for [email protected]  
help / color / mirror / Atom feed
From: Pavel Stehule <[email protected]>
To: Juan Rodrigo Alejandro Burgos Mella <[email protected]>
Cc: Pierre Forstmann <[email protected]>
Cc: Paul A Jungwirth <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: LISTAGG à la Oracle in PostgreSQL
Date: Tue, 10 Mar 2026 21:23:14 +0100
Message-ID: <CAFj8pRCz5eqmtWhbqC-iY9x-97WMTgDRN7syw9q9aeuSqzpTqQ@mail.gmail.com> (raw)
In-Reply-To: <CAHbZ42zA=VUCTWMjusbjdSemuTtKhmg-HzTGnB8n7A0ps_ebEg@mail.gmail.com>
References: <[email protected]>
	<CA+renyUW6+JUM5d6OJ8XZR3araY2iii5xTYP5kSUjqgLdY+uSg@mail.gmail.com>
	<[email protected]>
	<CAHbZ42zA=VUCTWMjusbjdSemuTtKhmg-HzTGnB8n7A0ps_ebEg@mail.gmail.com>

Hi

út 10. 3. 2026 v 20:58 odesílatel Juan Rodrigo Alejandro Burgos Mella <
[email protected]> napsal:

> To do something similar, you would have to fork the source code and
> implement the declarations with the same syntax, resulting in something
> like Postracle.
>

orafce has listagg function https://github.com/orafce/orafce

Regards

Pavel


>
> Atte
> JRBM
>
> El mar, 10 mar 2026 a las 13:53, Pierre Forstmann (<
> [email protected]>) escribió:
>
>> I agree but I just would like to know if there is way to be compatible
>> with Oracle syntax using aggregate features in PostgreSQL
>>
>> Thanks.
>>
>> Le 09/03/2026 à 23:05, Paul A Jungwirth a écrit :
>> > On Mon, Mar 9, 2026 at 1:21 PM Pierre Forstmann
>> > <[email protected]> wrote:
>> >> Hello,
>> >>
>> >> I can write a LISTAGG aggregate for:
>> >>
>> >> create table emp(deptno numeric, ename text);
>> >>
>> >> SELECT deptno, LISTAGG(ename, ','::text ORDER BY ename) AS employees
>> >> FROM   emp GROUP BY deptno ORDER BY deptno;
>> >>
>> >> I would like to know if is possible to create an aggregate LISTAGG that
>> >> would work like in Oracle:
>> >>
>> >> SELECT deptno,
>> >>          listagg(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees
>> >> FROM emp
>> >> GROUP BY deptno
>> >> ORDER BY deptno;
>> > I don't think you need a custom aggregate here. In Postgres you can say:
>> >
>> > select deptno,
>> >        string_agg(ename, ',' ORDER BY ename) AS employees
>> > FROM emp
>> > GROUP BY deptno
>> > ORDER BY deptno;
>> >
>>
>>
>>


reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: LISTAGG à la Oracle in PostgreSQL
  In-Reply-To: <CAFj8pRCz5eqmtWhbqC-iY9x-97WMTgDRN7syw9q9aeuSqzpTqQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox