Foros del Web » Programando para Internet » PHP »

Ordernar antes de agrupar - mysql

Estas en el tema de Ordernar antes de agrupar - mysql en el foro de PHP en Foros del Web. hola amigos: tengo una tabla en MYSQL con informacion repetida en cuanto al campo rut , pero varian las fechas y horas de cada registros, ...
  #1 (permalink)  
Antiguo 21/12/2017, 08:55
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 8 años, 5 meses
Puntos: 8
Ordernar antes de agrupar - mysql

hola amigos:

tengo una tabla en MYSQL con informacion repetida en cuanto al campo rut , pero varian las fechas y horas de cada registros, y lo que necesito hacer es mostrar el registro con el ultimo RUT que sea ordenado por la fecha y hora mas antigua.



http://img.fenixzone.net/i/2ONLI8G.jpeg

lo que estaba intentando era hacer un group by y luego un order by por fecha y hora pero no me resulto, siempre me termina mostrando el registro mas reciente.

Código:
Select * from tabla where (fecha >= '20171220' and fecha <= '20171220') 
and rut = '14414047'
GROUP BY rut  
ORDER BY id desc
alguien tiene una idea de si es posible hacer esta consulta? lo agradeceria mucho

saludos
  #2 (permalink)  
Antiguo 21/12/2017, 14:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 276
Antigüedad: 8 años, 3 meses
Puntos: 25
Respuesta: Ordernar antes de agrupar - mysql

realiza el order en una subconsulta y agrupa el resultado de esta

select from (select order) group
  #3 (permalink)  
Antiguo 22/12/2017, 08:01
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 8 años, 5 meses
Puntos: 8
Respuesta: Ordernar antes de agrupar - mysql

tienes algun ejemplo con la sintaxis?
  #4 (permalink)  
Antiguo 22/12/2017, 08:09
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 8 años, 5 meses
Puntos: 8
Respuesta: Ordernar antes de agrupar - mysql

lo hice de esta forma pero sigue mostrandome el primer rut con fecha mas antigua

Código MySQL:
Ver original
  1. SELECT * FROM camp_itau_historial AS T1
  2. WHERE id in (select id from camp_itau_historial where T1.rut = camp_itau_historial.rut order by id desc) AND
  3. ((operador='todos' or 'todos'='todos') and
  4. (numero_de_carga = 'CARGA_DICIEMBRE_2017' or 'CARGA_DICIEMBRE_2017'='todos')) and (fecha >= '20171201' and fecha <= '20171221')

Última edición por rigo_5834; 22/12/2017 a las 08:14
  #5 (permalink)  
Antiguo 22/12/2017, 08:44
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 8 años, 5 meses
Puntos: 8
Respuesta: Ordernar antes de agrupar - mysql

ya lo resolvi, gracias amigo. dejo el ejemplo:

Código MySQL:
Ver original
  1. *
  2. (select * from camp_itau_historial order by id desc) as ttt
  3. ((operador='todos' or 'todos'='todos') and
  4. (numero_de_carga = 'CARGA_DICIEMBRE_2017' or 'CARGA_DICIEMBRE_2017'='todos')) and (fecha >= '20171201' and fecha <= '20171221')



La zona horaria es GMT -6. Ahora son las 21:52.