Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/07/2011, 06:00
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: No me muestra los valores correctos ...

No es un problema dramático, es que la consulta tal y como la planteas primero agrupa, y recién entonces ordena, mientras que lo que tu necesitas es que haga al revés. Pero como el GROUP BY precede siempre al ORDER BY, no puedes hacerlo en una consulta simple. AL agrupar primero, MySQL toma el primer registro que cumple con la condición y descarta el resto, por lo que, como el ID de la tabla muestra el orden de entrada, siempre quedará el primero, y jamás los siguientes, que son los que tu buscas.
Tienes que usar subconsultas, de modo que la consulta inicial ordene como necesitas, generando una tabla derivada, y luego una consulta mayor agrupe por el ID:
Código MySQL:
Ver original
  1.     P.id,
  2.     PM.turno
  3.     (SELECT
  4.         P.id,
  5.         PM.turno,
  6.         PM.partidaid
  7.     FROM
  8.         partidas p
  9.         INNER JOIN
  10.         partidas_movimiento PM ON P.id = PM.partidaid
  11.     ORDER BY PM.id DESC) T1
  12. GROUP  BY partidaid;

Este tipo de problemas son muy comunes para los principiantes en SQL y siempre hay alguien que los ha preguntado antes; te conviene buscarlos usando el buscador del foro.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)