--------------------------------------------------
From: "Alejandro D. Burne" <[EMAIL PROTECTED]>
Sent: Sunday, September 21, 2008 6:01 AM
To: "Raúl Andrés Duque Murillo" <[EMAIL PROTECTED]>
Cc: "PostgreEs" <[email protected]>
Subject: Re: [pgsql-es-ayuda] Obtener los 3 valores mas altos por grupo de
una serie de registros
--------------------------------------------------
From: "Alejandro D. Burne" <[EMAIL PROTECTED]>
Sent: Saturday, September 20, 2008 6:35 PM
To: "PostgreEs" <[email protected]>
Subject: [pgsql-es-ayuda] Obtener los 3 valores mas altos por grupo de
una
serie de registros
Alguien tiene idea de como armar una consulta sql (si es que se puede)
para obtener los 3 valores máximos y agrupandolos por una determinada
columna, por ejemplo teniendo los siguientes datos:
grupo, valor
1, 2
1, 3
1, 4
1, 5
2, 1
2, 10
2, 11
2, 5
me tendría que devolver
1, 5
1, 4
1, 3
2, 11
2, 10
2, 5
Pensaría que no se puede crear un agregado para este fin porque tendría
que
tener "memoria" para saber si el el 2do o 3ro máximo.
Una opción sería hacer una funcion que recorra los datos pero si hay
mucho
datos sería tremendamente demorado.
Si el problema está en el volumen, no son muchos, estimo cerca del
millon y medio de registros, tampoco es poco ;+)
Una preguntas para plantearte un query:
"valor" puede estar repetido? si hay repetidos, deben considerarse?
Si valor puede estar repetido y considerarse, quería ver si por medio
de una consulta se podía armar. Voy a crear una función y listo.
La tabla que contiene grupo y valor tiene algún id único/PK que pueda
identificarme de forma única un registro?
Atentamente,
RAUL DUQUE
Bogotá, Colombia
Atentamente,
RAUL DUQUE
Bogotá, Colombia
Gracias por tu tiempo y disposición
Saludos, Alejandro
__________ Information from ESET Smart Security, version of virus
signature database 3458 (20080921) __________
The message was checked by ESET Smart Security.
http://www.eset.com
--
TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te lo
agradecerán