Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

traer ultimo registro de cada grupo

Estas en el tema de traer ultimo registro de cada grupo en el foro de Mysql en Foros del Web. hola gente del foro, estoy en un proyecto de localización y necesito traer los últimos registros de localización de cada usuario. Tengo una tabla con ...
  #1 (permalink)  
Antiguo 06/05/2015, 17:41
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Pregunta traer ultimo registro de cada grupo

hola gente del foro, estoy en un proyecto de localización y necesito traer los últimos registros de localización de cada usuario.

Tengo una tabla con los campos id, lat, lon, usuario, hora

necesito que me muestre los últimos resultados de lat y lon por cada usuario.

EJ

esta es mi tabla
id lat lon usuario hora
19 -34.9033 -56.1894 0916 2015-05-04 09:51:47
20 465464 456464 0936 2015-05-06 20:30:42
13 -34.9933 -56.1844 0916 2015-05-04 09:56:47
28 465478 456445 0936 2015-05-06 20:37:42

necesito que me muestre:

lat lon usuario hora
-45.456 -46.879 0916 2015-05-04 09:56:47
-48.456 -59.879 0936 2015-05-06 20:30:42

no se si se entiende...
  #2 (permalink)  
Antiguo 07/05/2015, 08:07
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: traer ultimo registro de cada grupo

podria ser algo como esto:


Código SQL:
Ver original
  1. SELECT t1.* FROM usuarios AS t1
  2. LEFT JOIN (SELECT MAX(fecha) AS fecha, usuario FROM usuarios GROUP BY usuario) AS t2 ON (t1.usuario=t2.usuario AND t1.fecha=t2.fecha)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 07/05/2015, 17:11
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: traer ultimo registro de cada grupo

No, por lo que veo haces un join de dos tablas, pero yo solo tengo una tabla

lo que necesito es que me traiga el ultimo registro de cada usuario
  #4 (permalink)  
Antiguo 07/05/2015, 20:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: traer ultimo registro de cada grupo

No está haciendo un JOIN entre dos tablas, está haciendo un JOIN de una tabla consigo misma...
Es diferente.

Tienes que explorar las capacidades del SQL. Te sorprenderás.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 08/05/2015, 07:26
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: traer ultimo registro de cada grupo

Cita:
Iniciado por Maverik2 Ver Mensaje
No, por lo que veo haces un join de dos tablas, pero yo solo tengo una tabla

lo que necesito es que me traiga el ultimo registro de cada usuario
Y donde esta la segunda tabla en mi query?? yo solo veo que uso la tabla usuarios........
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #6 (permalink)  
Antiguo 13/05/2015, 17:39
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: traer ultimo registro de cada grupo

Bueno al final lo resolví asi

SELECT * FROM (
SELECT * FROM gps ORDER BY hora DESC
) AS t1
GROUP BY usuario

Etiquetas: php, registro, select, tabla, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:17.