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

Re: Limitar filas en grupos

From: Anthony <asotolongo(at)uci(dot)cu>
To: Jorge Tornero <jorge(dot)tornero(at)cd(dot)ieo(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Limitar filas en grupos
Date: 2012-01-28 00:15:06
Message-ID: 4F233E0A.1060800@uci.cu (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El 27/01/2012 5:48, Jorge Tornero escribió:
> Hola a todos,
>
> Tengo que hacer una selección al azar de una serie de individuos. Estos
> individuos los categorizo por fecha de captura y  clase de talla
> principalmente. Necesito tomar hasta 17 individuos por cada una de esas
> clases de talla. La parte de selección al azar la tengo resuelta
> (creo... quizá alguien la vea mal):
>
> Select extract(month from fecha), fecha, clase_talla, numero_individuo
> from biologicos group by 1,2,3,4 order by 1,2,3,random();
>
> Ahora bien, dentro de las clases de talla tengo algunas con 2,3... x
> individuos, número menor a 17 y otras con pongamos 20, 30, 60
> individuos. Como os digo necesito tomar hasta 17 individuos por clase de
> talla. En otras palabras:
>
> ¿Es posible limitar el número de columnas devueltas por group by, al
> estilo de LIMIT pero dentro de los grupos?
>
> Muchas gracias!!!
>
>
> Jorge Tornero
> Instituto Español de Oceanografía
> Centro Oceanográfico de Cádiz
> -
> Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
> Para cambiar tu suscripción:
> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>
>
> Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
> http://www.antiterroristas.cu
> http://justiciaparaloscinco.wordpress.com
>    
Mira te recomiendo que utilices CTE para eso con la clausula with y 
funciones ventanas

_with numeracion as (
select 'tus atributos' , row_number() over (partition by 'tu 
agrupamiento o clase' ) as numero from 'tu tabla')

select * from numeracion where numero<=17
_
saludos



Fin a la injusticia, LIBERTAD AHORA A NUESTROS CINCO COMPATRIOTAS QUE SE ENCUENTRAN INJUSTAMENTE EN PRISIONES DE LOS EEUU!
http://www.antiterroristas.cu
http://justiciaparaloscinco.wordpress.com

In response to

Responses

pgsql-es-ayuda by date

Next:From: Edwin QuijadaDate: 2012-01-28 16:42:34
Subject: RE: Deshabilitar 1 BD
Previous:From: Rene Romero BenavidesDate: 2012-01-28 00:13:54
Subject: Re: Deshabilitar 1 BD

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