Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2011, 19:43
raulemofe
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Ultimo acceso de usuarios en una sola tabla mysql

Que tal, soy nuevo en este foro, tengo el siguiente problema:

Tengo una tabla en MySql llamada accesos con los siguientes campos: Acceso, Usuario, Fecha, Hora, Ip

En dicha tabla se registran los accesos a cierta dirección web después de que el usuario ha sido logueado exitosamente.

A continuación les dejo un ejemplo, que espero se entienda (porque no logro poner por aquí una tabla en formato html para que sea mas gráfico jeje, una disculpa, recuerden que soy nuevo en esto).

Acceso Usuario Fecha Hora Ip
1 Juan 2010-12-31 12:16:11 123.45.67.879
2 Pancho 2011-01-11 14:13:25 123.45.67.925
3 Pedro 2011-01-15 14:30:21 123.45.67.100
4 Juan 2011-01-16 12:18:20 123.45.67.879
5 Pancho 2011-01-18 18:43:55 123.45.67.925
6 Pedro 2011-01-22 14:40:12 123.45.67.100
7 Juan 2011-01-30 12:01:14 123.45.67.879

El resultado que deseo obtener de una sola consulta es el último registro de acceso a la direccion web de cada usuario, es decir:

Acceso Usuario Fecha Hora Ip
5 Pancho 2011-01-18 18:43:55 123.45.67.925
6 Pedro 2011-01-22 14:40:12 123.45.67.100
7 Juan 2011-01-30 12:01:14 123.45.67.879

Yo lo quise hacer con un GROUP BY
Pero si lo hago mediante un GROUP BY me muestra el primer registro, aquí les dejo la consulta y el resultado devuelto:
select Acceso, UsuarioId, Fecha, Hora, Ip from accesos group by UsuarioId order by Fecha ASC

Acceso Usuario Fecha Hora Ip
1 Juan 2010-12-31 12:16:11 123.45.67.879
2 Pancho 2011-01-11 14:13:25 123.45.67.925
3 Pedro 2011-01-15 14:30:21 123.45.67.100

He logrado hacerlo con dos consultas desde un script PHP pero necesito hacerlo en una sola para el tema de filtrados, en la primer consulta, obtengo todos los usuarios únicos mediante un DISTINCT y luego, en el ciclo, en la segunda consulta obtengo el ultimo accesoId del usuario mediante un limit 1 ordenando con "WHERE Usuario='$Usuario' ORDER BY Acceso DESC LIMIT 1"

Alguien sabe como hacerlo con un solo query?

Saludos desde Monterrey, México y muchas gracias de antemano