Обсуждение: How do I get min and max from an array of floating point values

Поиск
Список
Период
Сортировка

How do I get min and max from an array of floating point values

От
pw
Дата:
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


Re: How do I get min and max from an array of floating point values

От
"Pavel Stehule"
Дата:
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
>


Re: How do I get min and max from an array of floating point values

От
"Yura Gal"
Дата:
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.