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