Re: Obtener los 3 valores mas altos por grupo de una serie de registros

From: Raúl Andrés Duque Murillo <ra_duque(at)yahoo(dot)com(dot)mx>
To: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
Cc: "PostgreEs" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Obtener los 3 valores mas altos por grupo de una serie de registros
Date: 2008-09-21 12:05:36
Message-ID: 23BFB3CB4AC9462F8FA40DAE011AAAD8@Principal
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--------------------------------------------------
From: "Alejandro D. Burne" <alejandro(dot)dburne(at)gmail(dot)com>
Sent: Sunday, September 21, 2008 6:01 AM
To: "Raúl Andrés Duque Murillo" <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: "PostgreEs" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Obtener los 3 valores mas altos por grupo de
una serie de registros

>> --------------------------------------------------
>> From: "Alejandro D. Burne" <alejandro(dot)dburne(at)gmail(dot)com>
>> Sent: Saturday, September 20, 2008 6:35 PM
>> To: "PostgreEs" <pgsql-es-ayuda(at)postgresql(dot)org>
>> 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
>
>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oswaldo Hernández 2008-09-21 12:37:47 Re: Obtener los 3 valores mas altos por grupo de una serie de registros
Previous Message Alejandro D. Burne 2008-09-21 11:01:46 Re: Obtener los 3 valores mas altos por grupo de una serie de registros