Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

[SOLUCIONADO] Max y min en un arreglo smallint

Estas en el tema de Max y min en un arreglo smallint en el foro de PostgreSQL en Foros del Web. Antes de nada esperaría pudiera recibir ayuda a resolver un problema, definí un campo smallint{} y guardo un arreglo de 24 dígitos quisiera saber si ...
  #1 (permalink)  
Antiguo 01/04/2013, 16:46
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 9 meses
Puntos: 1
Max y min en un arreglo smallint

Antes de nada esperaría pudiera recibir ayuda a resolver un problema, definí un campo smallint{}
y guardo un arreglo de 24 dígitos

quisiera saber si existe alguna consulta para realizar lo siguiente. tengo una tabla registro mi campo valor1 que es el arreglo en smallint y quiero sacar el valor máximo y el valor mínimo del arreglo.

no puedo usar esta consulta select max(valor1) from registro porque me arroja lo siguiente
"{0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,1} "

uso postgres 9 sin embargo googleando me encontre esto:

Código:
select min(unnest), max(unnest) from (select unnest(i) from pio)
foo;
Cita:
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;$$;
intente aplicarlo remplazando unnest por mi campo y al correrlo en postgres me arroja que i no esta definida.

alguna idea de como poder obtener el máximo y mínimo?

Última edición por Dfcotacla; 01/04/2013 a las 17:38
  #2 (permalink)  
Antiguo 02/04/2013, 12:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Max y min en un arreglo smallint

vas por buen camino.

i no está definida porque simula el contenido del array.

Prueba esto:

Código SQL:
Ver original
  1. SELECT MIN(mi_array), MAX(mi_array) FROM (SELECT unnest(array[1,4,5,6,8,9,45]) mi_array) AS mi_tabla_en_memoria;

Lo que está entre parentesis en una tabla en memoria generada por una subconsulta.

Ejecuta esto y veras que te encuentra el maximo y el minimo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 03/04/2013, 18:54
 
Fecha de Ingreso: enero-2010
Mensajes: 40
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: Max y min en un arreglo smallint

Cita:
Iniciado por huesos52 Ver Mensaje
vas por buen camino.

i no está definida porque simula el contenido del array.

Prueba esto:

Código SQL:
Ver original
  1. SELECT MIN(mi_array), MAX(mi_array) FROM (SELECT unnest(array[1,4,5,6,8,9,45]) mi_array) AS mi_tabla_en_memoria;

Lo que está entre parentesis en una tabla en memoria generada por una subconsulta.

Ejecuta esto y veras que te encuentra el maximo y el minimo.

saludos
si era eso me lie con el ejemplo Gracias!!

Etiquetas: as, max, min, postgres, tabla, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.