Ver Mensaje Individual
  #5 (permalink)  
Antiguo 22/01/2014, 06:09
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: Consulta con GROUP y ORDER

Craso error!!!!! Falta relacionar el maximo con su categoria.....

Código MySQL:
Ver original
  1. SELECT t.id_de_categoria,t.id_orden, t.fecha_de_inicio, t.estado FROM tabla t
  2.     INNER JOIN
  3.          (SELECT id_de_categoria,MAX(fecha_de_inicio) MFecha  FROM tabla GROUP BY id_de_categoria) Sbc
  4.     ON tabla.fecha_de_inicio=Sbc.MFecha AND tabla.id_de_categoria=Sbc.id_de_categoria
  5. ORDER BY t.id_de_categoria;

Código MySQL:
Ver original
  1. SELECT id_de_categoria,MAX(fecha_de_inicio) MFecha  FROM tabla GROUP BY id_de_categoria

Esto nos da la última fecha de cada categoria al relacionarla se puede obtener el resto de datos del registro, pero al ser de tipo date no es seguro que sea único.... Puede haber mas de un registro con la última fecha y la misma categoria....

Si se usa el id de orden no seria necesario puesto que son valores únicos....

Código MySQL:
Ver original
  1. SELECT t.id_de_categoria,t.id_orden, t.fecha_de_inicio, t.estado FROM tabla t
  2.     INNER JOIN
  3.          (SELECT id_de_categoria,MAX(id_de_orden) MOrden  FROM tabla GROUP BY id_de_categoria) Sbc
  4.     ON tabla.id_de_orden=Sbc.MOrden AND tabla.id_de_categoria=Sbc.id_de_categoria
  5. ORDER BY t.id_de_categoria;

Código MySQL:
Ver original
  1. SELECT id_de_categoria,MAX(id_de_orden) MOrden  FROM tabla GROUP BY id_de_categoria

Esto nos da el último id orden de cada categoria, al usarlo en el join obtengo el resto de datos del registro.

===============
Tema fecha

Cita:
Por cierto. El campo fecha_de_inicio es de tipo DATE.
Pero es automática, es decir puedo poner la fecha de ayer, o automáticamente coje la de hoy? Si no es asi tienes que usar la primera opción MAX(fecha_de_inicio), la versión corregida, pero tendrás el problema de que puede haber dos registros en la misma fecha....

Si la fecha es automática puedes usar MAX(id_de_orden) tanto la versión del primer post como la del segundo funcionarán....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 22/01/2014 a las 06:29