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

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>,"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 09:45:20
Message-ID: 30CD8BE5ACD14B90A518C7473EF66575@Principal (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.

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

In response to

Responses

pgsql-es-ayuda by date

Next:From: Alejandro D. BurneDate: 2008-09-21 11:01:46
Subject: Re: Obtener los 3 valores mas altos por grupo de una serie de registros
Previous:From: Alejandro D. BurneDate: 2008-09-20 23:35:05
Subject: 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