--------------------------------------------------
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.

Una preguntas para plantearte un query:

"valor" puede estar repetido? si hay repetidos, deben considerarse?

Atentamente,

RAUL DUQUE
Bogotá, Colombia


Saludos y gracias, Alejandro
--
TIP 4: No hagas 'kill -9' a postmaster

__________ 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

Responder a