Proposal: array_unique_agg() function - Mailing list pgsql-hackers

From Aleksander Alekseev
Subject Proposal: array_unique_agg() function
Date
Msg-id CAJ7c6TP8Os9GzjuDkeJZGbF=jjxm6urg7stvRjtLk8q+Gk84NQ@mail.gmail.com
Whole thread Raw
Responses Re: Proposal: array_unique_agg() function  (Pavel Stehule <pavel.stehule@gmail.com>)
Re:Proposal: array_unique_agg() function  (Sergei Kornilov <sk@zsrv.org>)
List pgsql-hackers
Hi hackers,

I needed an aggregate function similar to array_agg() but which
aggregates only unique values. As it turned out there is no convenient
way of doing this. What I ended up doing instead was aggregating to
JSONB keys and then converting a JSONB object to an array:

SELECT array(select jsonb_object_keys(jsonb_object_agg(mycolumn, true)))
FROM ...

This works but doesn't seem to be the greatest user experience. I
would like to submit a patch that adds array_unique_agg() function
unless anyone has strong objections to this feature.

-- 
Best regards,
Aleksander Alekseev



pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: Re: [PATCH] Expose port->authn_id to extensions and triggers
Next
From: Pavel Stehule
Date:
Subject: Re: Proposal: array_unique_agg() function