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

[SOLUCIONADO] Obtener el ultimo registro de cada grupo

Estas en el tema de Obtener el ultimo registro de cada grupo en el foro de Mysql en Foros del Web. Hola como estan? en esta oportunidad requiero de la ayuda de ustedes para poder realizar la siguiente consulta, tengo una tabla donde almaceno las respuestas ...
  #1 (permalink)  
Antiguo 06/10/2014, 12:36
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Obtener el ultimo registro de cada grupo

Hola como estan? en esta oportunidad requiero de la ayuda de ustedes para poder realizar la siguiente consulta, tengo una tabla donde almaceno las respuestas que me envia un usuario y esta con los siguientes datos:

id - tid - mail - contenido - fecha respuesta


- id es el valor normal de mi tabla,
- tid es un valor que se puede repetir ya que es de un ticket de mi sistema.
- mail es solo el correo del usuario
- contenido es el texto de su mensaje
- fecha.

necesito poder obtener el ultimo registro de cada grupo tomando como base TID, ejemplo

id - tid - mail - contenido - fecha respuesta
1 - 1 - a@a - prueba - 10-01-14
2 - 1 - a@a - prueba - 11-01-14
3 - 2 - a@a - prueba - 11-01-14
4 - 2 - a@a - prueba - 12-01-14
5 - 1 - a@a - prueba - 13-01-14
6 - 2 - a@a - prueba - 14-01-14

y necesito recuperar los valores

id - tid - mail - contenido - fecha respuesta
5 - 1 - a@a - prueba - 13-01-14
6 - 2 - a@a - prueba - 14-01-14


claro que lo puedo hacer definiendo el valor del TID pero necesito una consulta que pueda otorgarme todos los últimos valores de forma que sea genérica sin tener que recurrir a TID=1, TID=2, TID=3....... etc.


Gracias y saludos
  #2 (permalink)  
Antiguo 06/10/2014, 13:02
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, 4 meses
Puntos: 2658
Respuesta: Obtener el ultimo registro de cada grupo

Obtener el mayor valor sobre uno o más campos, basados en un agrupamiento, requeire subconsultas.
Es un caso que siempre nos consultan. Las restricciones de orden entre ORDER BY y GROUP BY impiden hacerlo en una consulta simple.
El esquema a usar es siempre este:
Código MySQL:
Ver original
  1. SELECT a, b, d
  2.     (SELECT a, b, c
  3.     FROM tabla ...
  4.     WHERE ...
  5.     ORDER BY b DESC) t1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/10/2014, 13:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Obtener el ultimo registro de cada grupo

Gracias gnzsoloyo por tu respuesta. Lo pude resolver de la siguiente forma

Código MySQL:
Ver original
  1.       FROM   tabla c1
  2.       WHERE  fecha_respuesta=(
  3.           SELECT MAX(c2.fecha_respuesta)
  4.           FROM jpv59_obhelpdesk3_messages c2 WHERE c1.tid = c2.tid);

Gracias

Etiquetas: grupos, registros
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 16:41.