agrupando y tomando el primero de cada grupo

From: Daniel Hernández <daniel(at)scio(dot)cl>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: agrupando y tomando el primero de cada grupo
Date: 2009-06-02 20:53:08
Message-ID: 4A259134.9020805@scio.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola,

Supongamos que tengo una tabla t con tres columnas a, b y c. Para cada
valor de a, quiero tener el primer valor de b y el c que lo acompaña
(considerando algún orden sobre la columna b). Por ejemplo, si la tabla es:

a | b | c
---------
1 | 1 | 1
2 | 3 | 2
1 | 2 | 3
2 | 2 | 4

Yo quiero tener (si ordeno los b de menor a mayor)

a | b | c
---------
1 | 1 | 1
2 | 2 | 4

porque para a=1 el menor b es 1 y para a=2 el menor b es 2.

Mi pregunta es si esto puedo hacerlo con SQL y de manera eficiente. Al
decir de manera eficiente me refiero a que se ve que el problema se
puede resolver proceduralmente leyendo las filas una por una y
agregándolas al resultado siempre que el valor de a no haya sido
ingresado previamente.

Saludos,

--
Daniel Hernández
http://www.scio.cl

Attachment Content-Type Size
daniel.vcf text/x-vcard 200 bytes

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cesar Erices 2009-06-02 21:56:11 Estimados podrian ayudare con eso
Previous Message Gilberto Castillo Martínez 2009-06-02 17:47:07 Nuevo en la wiki ... sobre ora2pg