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

Re: Consulta de agrupamiento

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Sergio Valdes Hurtado <svh(dot)pgsql(at)gmail(dot)com>
Cc: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta de agrupamiento
Date: 2011-02-28 13:51:15
Message-ID: AANLkTikCNkn4ik2a-zBJTMh_2YVoZgPGcr8+VAzuDVtR@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El día 25 de febrero de 2011 20:17, Sergio Valdes Hurtado
<svh(dot)pgsql(at)gmail(dot)com> escribió:
> Estimados, tengo una tabla que contiene los campos: acta (integer), proceso
> (integer), estado (integer) y fecha (date), y que van registrando los
> distintos estados que toman los procesos relacionados a unas actas de
> revisión.
> Cada acta puede tener uno o dos procesos y van pasando del estado 1 al
> estado 5 y se registra la fecha en que cambia a cada estado
>
> Necesito una consulta que me permita obtener todas los registros que se
> encuentren en etapa 5 y en caso de que exista un acta con dos procesos y
> ambos estén en etapa 5, me muestre el que primero llegó a esa etapa (el más
> antiguo).
> En el caso de los datos de más abajo, lo que necesito es que no muestre los
> que están marcados con *
>
> 1011110002  6265  5  27-01-2011
> 1011110003  6264  5  27-01-2011
> 1011110004  6262  5  27-01-2011
> 1011110005  6269  5  31-01-2011
> 1011110006  6277  5  01-02-2011
> 1011110007  6267  3  28-01-2011
> 1014110006  6270  5  31-01-2011
> 1031110002  6341  5  07-02-2011
> 1031110002  6340  1  15-01-2011 *
> 1051110001  6310  5  02-02-2011 *
> 1051110001  6315  5  28-01-2011
>


postgres=# select * from actas order by acta;
 acta | proceso | estado |   fecha
------+---------+--------+------------
 1001 |    6310 |      5 | 2011-01-15
 1001 |    6310 |      5 | 2011-01-28
 1002 |    6265 |      5 | 2011-01-27
 1002 |    6264 |      1 | 2011-01-15
 1003 |    6264 |      5 | 2011-01-27
(5 filas)

postgres=# select acta, min(fecha), proceso,estado from actas where estado = 5 g
roup by acta,proceso,estado;
 acta |    min     | proceso | estado
------+------------+---------+--------
 1002 | 2011-01-27 |    6265 |      5
 1003 | 2011-01-27 |    6264 |      5
 1001 | 2011-01-15 |    6310 |      5
(3 filas)


Sirve?



-- 
--
              Emanuel Calvo
              Helpame.com

In response to

Responses

pgsql-es-ayuda by date

Next:From: Emanuel Calvo FrancoDate: 2011-02-28 13:53:57
Subject: Re: pgmemcache
Previous:From: Emanuel Calvo FrancoDate: 2011-02-28 13:36:24
Subject: Re: Recuperar BD desde directorio data

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