Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2008, 21:49
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Ordenar registros por fecha

Seguramente podrá hacerse algo más fácil, pero por el momento prueba esto:
Código sql:
Ver original
  1. SELECT DATE( ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) ) AS DIA, COUNT( * ) AS TOTAL, DATE_ADD( NOW( ) , INTERVAL 6 HOUR ) AS Fechorareferencia, NOW( ) AS Fechahoraservidor
  2. FROM nombretabla
  3. WHERE ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) > DATE_ADD( DATE_ADD( NOW( ) , INTERVAL 6 HOUR ) , INTERVAL -31
  4. DAY )
  5. GROUP BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) )
  6. ORDER BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) ) DESC

Ten cuidado con los nombres de los campos. Date y hour son palabras reservadas y no deberías utilizarlas para nombrar campos. Observa que las he tenido que poner entre acentos graves para evitar problemas. Te he añadido la hora del servidor y la de referencia para que veas que la toma, pero nada de eso será necesario mostrarlo. Te bastará con esto
Código sql:
Ver original
  1. SELECT DATE( ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) ) AS DIA, COUNT( * ) AS TOTAL
  2. FROM nombretabla
  3. WHERE ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) > DATE_ADD( DATE_ADD( NOW( ) , INTERVAL 6 HOUR ) , INTERVAL -31
  4. DAY )
  5. GROUP BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) )
  6. ORDER BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) ) DESC