Skip site navigation (1) Skip section navigation (2)

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

From: "Alejandro D(dot) Burne" <alejandro(dot)dburne(at)gmail(dot)com>
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: Obtener los 3 valores mas altos por grupo de una serie de registros
Date: 2008-09-21 11:01:46
Message-ID: 8398dc6d0809210401w4e2c5618o248b06e602b08c1f@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
> --------------------------------------------------
> 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.

> Atentamente,
>
> RAUL DUQUE
> Bogotá, Colombia
>
>

Gracias por tu tiempo y disposición

Saludos, Alejandro

In response to

Responses

pgsql-es-ayuda by date

Next:From: Raúl Andrés Duque MurilloDate: 2008-09-21 12:05:36
Subject: Re: Obtener los 3 valores mas altos por grupo de una serie de registros
Previous:From: Raúl Andrés Duque MurilloDate: 2008-09-21 09:45:20
Subject: Re: Obtener los 3 valores mas altos por grupo de una serie de registros

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group