Обсуждение: How do I get min and max from an array of floating point values
Hello,
Is it possible to get the min and max from an array of
floating point values?
The following doesn't return the min of the array values
it simply returns the complete array...(??)
SELECT min(string_to_array('1,2,3,4,5,6,7',',')::float[]);
Thanks
Peter
Hello
2008/9/2 pw <p.willis@telus.net>:
> Hello,
>
> Is it possible to get the min and max from an array of
> floating point values?
>
> The following doesn't return the min of the array values
> it simply returns the complete array...(??)
>
> SELECT min(string_to_array('1,2,3,4,5,6,7',',')::float[]);
>
> Thanks
>
> Peter
>
you should function
create function minimum(anyarray)
returns anyelement as $$
select min($1[i]) from generate_series(array_lower($1,1),
array_upper($1,1)) g(i);
$$ language sql immutable strict;
reagards
Pavel Stehule
> --
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
>
If you use intarray type it is convenient to call buil-in intarray functions for your purpose. http://www.postgresql.org/docs/8.3/static/intarray.html SELECT t.a[1] AS "min", t.a[array_upper(t.a, 1)] AS "max" FROM (SELECT sort(string_to_array('2,3,4,15,6,7',',')::int[]) AS a)t; -- Best regards, Yuri.