Saludos cordiales.
Tengo una tabla cuyos campos relevantes son:
idevent idevettype zu idaccount dateevent
1 56 1 100 03/01/16 00:00
2 62 1 100 04/01/16 00:00
3 62 2 100 03/01/16 20:45
4 56 1 100 04/01/16 10:00
5 56 9 200 03/01/16 00:00
6 62 1 200 04/01/16 15:00
7 56 1 100 07/01/16 00:00
8 62 1 100 09/01/16 00:00
9 62 1 100 09/01/16 13:00
10 56 1 100 09/01/16 15:12

Y necesito una consulta que me devuelva algo asi:

idevent idevettype zu idaccount dateevent
10 56 1 100 09/01/16 15:12
9 62 1 100 09/01/16 13:00
6 62 1 200 04/01/16 15:00
3 62 2 100 03/01/16 20:45
5 56 9 200 03/01/16 00:00


Usando la consulta:
SELECT ideventtype, zu, idaccount, MAX(dateevent) AS de FROM  events
where (idaccount = 100 OR idaccount = 200) GROUP BY ideventtype,
idaccount, zu;

Me devuelve las filas que esperaría recibir, pero.... el campo que
necesito en realidad es el idevent, si agrego esa columna a la
consulta obtengo el error:

ERROR: la columna «events.idevent» debe aparecer en la cláusula GROUP
BY o ser usada en una función de agregación
SQL state: 42803
Character: 8


Quiza sea una pregunta de novato pero he leído y leído y en ningún
caso he conseguida hacer que funcione como espero.
Encontré una solución a lo que necesito pero era para SQL SERVER con
unas funciones que no había visto antes, ahora mismo no recuerdo y no
reencuentro el link para ponerlo aqui.


Espero que alguien que se haya visto en este caso o similar me pueda
orientar un poco.


Mis proyectos de software libre en:
Github - edwinspire

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a