Search Postgresql Archives

Re: A unique pairs version of UNNEST() ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/4/2016 2:08 PM, Wells Oliver wrote:
Hey all, happy new year.

I am trying to get unique pairs from an array of N numbered items,
usually 5, but possibly 4 or 6.

If I just wanted unique values, I could do SELECT UNNEST(list_of_ids) AS
id, COUNT(*) FROM table GROUP BY id but in this situation I want all
unique pairs and a COUNT.

For those familiar with python, this is the functionality found in
itertools.combinations. I'm leaning towards just doing this in python,
but I really like keeping as much in SQL as possible.

So in an example where list_of_ids is {1,2,3,4,5} I would essentially get:

{1, 2}
{1, 3}
{1, 4}
{1, 5}
{2, 3}
{2, 4}
{2, 5}
{3, 4}
{3, 5}
{4, 5}


Any tips? Thanks!

--
Wells Oliver
wells.oliver@xxxxxxxxx <mailto:wellsoliver@xxxxxxxxx>

if you could convert the array to a table then cross join it. Something like:

select a.*, b.*
from unnest( {1,2,3,4,5} ) a
cross join unnest( {1,2,3,4,5} ) b

-Andy


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux