Re: How to access array element in pgsql after array_agg - Mailing list pgsql-general

From François Beausoleil
Subject Re: How to access array element in pgsql after array_agg
Date
Msg-id 229A6597-AD36-4639-858C-D6875FB750FE@teksol.info
Whole thread Raw
In response to How to access array element in pgsql after array_agg  (Condor <condor@stz-bg.com>)
Responses Re: How to access array element in pgsql after array_agg
List pgsql-general
Le 2014-06-17 à 14:22, Condor <condor@stz-bg.com> a écrit :

> I do select array_agg(ids) from x;
> in ids I have int and result is :
>
>       array_agg
>      -------------
>    {3843,2,3543,33}
>
> I want to access one element or first one direct in sql query like:
>
> select array_agg(ids)[1] from x;
>
> and to receive int value 2
>
> Any hints how I can do it ?

This works for me in 9.1:

psql (9.1.13)
Type "help" for help.

svanalytics=> select (array_agg(x))[1] from (values(3843),(2),(3543),(33)) t1(x) ;
 array_agg
-----------
      3843

Note the use of the extra parens around the array_agg call. This is probably a parser issue more than anything else.

> And also for performance did that is good I to do it in SQL or I should do it in language that I use ? The result in
querywill return about 2, 3 million rows. 

Do you mean you will have an array of 2, 3 million elements, or 2, 3 million rows with a couple dozen elements each?
I’mnot sure which will be easier / faster. I routinely work with million element result sets (rows) and have no issues. 

Hope that helps!
François



pgsql-general by date:

Previous
From: Condor
Date:
Subject: How to access array element in pgsql after array_agg
Next
From: Condor
Date:
Subject: Re: How to access array element in pgsql after array_agg