[Pgsql-ayuda] Funcion de agreagdo first
Jose Ayala - INCALPACA TPX
jayala@incalpaca.com
Wed, 11 Jun 2003 17:59:37 -0500
No aportas mucho ;) , kreo kel el español no es el problema aki, access
ordena los campos por el group by y la funcion last devuelve siempre el
ultimo del agrupamiento... si le pido ke lo ordene pues me devolvera el
ultimo del agrupamiento ordenado, he encontrado una solucion para Postgres
(a pesar k dices k esto no se puede siempre hay soluciones) pero no kreo k
sea la mas optima, ya que tengo k usar 3 subselects, si a alguien se le
ocurre otra forma mas optima por favor hagalo saber, he tenido k agregar un
campo ID autonumeriko ke representa a cada registro unikamente
select codigo,nombre,
(select v.mensaje from mensajes as v where v.id=
(select max(w.id) from mensajes as w where w.codigo=mensajes.codigo)) as
ultmensaje
from mensajes group by codigo,nombre
Saludos
Jose J. Ayala Pineda
Sistemas e Informática
Incalpaca TPX S.A.
www.incalpaca.com
----- Original Message -----
From: "Manuel Sugawara" <masm@fciencias.unam.mx>
To: "Jose Ayala - INCALPACA TPX" <jayala@incalpaca.com>
Cc: <Pgsql-ayuda@tlali.iztacala.unam.mx>
Sent: Wednesday, June 11, 2003 5:38 PM
Subject: Re: [Pgsql-ayuda] Funcion de agreagdo first
> "Jose Ayala - INCALPACA TPX" <jayala@incalpaca.com> writes:
>
> > Ok Manuel, asi es , el last y el first lo k hacen es devolver el valor
del
> > primer o ultimo registro del agrupamiento, el max puede funcionar kon
> > fechas
> > , pero kon datos numerikos o datos tipo alfanumerikos es to no sirve,
para
> > ilustrsr un poko mas lo k hace mi sql en access: tengo una tabla donde
se
> > almacena los mensajes enviados por cada usuario, lo k mi sql hace es
> > mostrar
> > el codigo.nombre y la ultima fecha x mensaje d cada usuario, kon el max
> > solucionariammos esto, pero y si en ves de la fecha deja tambien un
texto??
> > y ke sea algo asi la tabla:
> >
> > codigo nombre mensaje
> > 123 JUAN PEREZ 'HOLA'
> > 456 LUIS PEREZ 'CHAU'
> > 123 JUAN PEREZ 'ULTIMO MENSAJE'
> >
> > y kiero obtener esto
> >
> > codigo nombre nromensajes ultimomensaje
> > 123 JUAN PEREZ 2 'ULTIMO MENSAJE'
> > 456 LUIS PEREZ 1 'CHAU'
>
> El resultado de un agregado como una tabla son conjuntos, ie, no estan
> ordenados. ¿cómo puede access saber que el último mensaje es 'ULTIMO
> MENSAJE' y no 'HOLA'?. No entiendo y creo que de funcionar así access
> esta medio roto (o roto y medio).
>
> Ahora y contestando a tu pregunta: No creo que se pueda hacer en
> PostgreSQL.
>
> BTW Cuesta mucho trabajo leer tus correos con la k intercabiada por c
> y personalmente me molesta: siendo el español una bella lengua ¿por
> qué destorzarla así?
>
> Saludos,
> Manuel.