Re: Min and max element of an array column
От | A. Kretschmer |
---|---|
Тема | Re: Min and max element of an array column |
Дата | |
Msg-id | 20090902112610.GD31088@a-kretschmer.de обсуждение исходный текст |
Ответ на | Min and max element of an array column (Gianvito Pio <pio.gianvito@gmail.com>) |
Список | pgsql-sql |
In response to Gianvito Pio : > Hello, > is it possible to obtain the minimum and the maximum single element of > an array column? > > Example: > [1, 2 ,5] > [3, -1, 6] > [9, 18,-4 ] > > I'd just like to make a query that gives me the min (-4) and the max(18) > of the column. Is that possible without a function? Thanks test=*# select * from pio; i -----------{1,2,5}{3,-1,6}{9,18,-4} (3 rows) test=*# select min(unnest), max(unnest) from (select unnest(i) from pio) foo;min | max -----+----- -4 | 18 (1 row) It is 8.4, if you have a version < 8.4, you need the unnest-function: CREATE OR REPLACE FUNCTION unnest(ANYARRAY) RETURNS SETOF ANYELEMENT LANGUAGE SQL AS $$SELECT $1[i] FROM generate_series(array_lower($1,1),array_upper($1,1)) i;$$; (with Thx to David Fetter) Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
В списке pgsql-sql по дате отправления: