From: | François Beausoleil <francois(at)teksol(dot)info> |
---|---|
To: | Condor <condor(at)stz-bg(dot)com> |
Cc: | Forums postgresql <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: How to access array element in pgsql after array_agg |
Date: | 2014-06-17 19:44:37 |
Message-ID: | 229A6597-AD36-4639-858C-D6875FB750FE@teksol.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Le 2014-06-17 à 14:22, Condor <condor(at)stz-bg(dot)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 query will 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’m not sure which will be easier / faster. I routinely work with million element result sets (rows) and have no issues.
Hope that helps!
François
From | Date | Subject | |
---|---|---|---|
Next Message | Condor | 2014-06-17 20:48:16 | Re: How to access array element in pgsql after array_agg |
Previous Message | Condor | 2014-06-17 18:22:42 | How to access array element in pgsql after array_agg |