Seguramente podrá hacerse algo más fácil, pero por el momento prueba esto:
Código sql:
Ver originalSELECT 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
FROM nombretabla
WHERE ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) > DATE_ADD( DATE_ADD( NOW( ) , INTERVAL 6 HOUR ) , INTERVAL -31
DAY )
GROUP BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) )
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 originalSELECT DATE( ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) ) AS DIA, COUNT( * ) AS TOTAL
FROM nombretabla
WHERE ADDTIME( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) , `hour` ) > DATE_ADD( DATE_ADD( NOW( ) , INTERVAL 6 HOUR ) , INTERVAL -31
DAY )
GROUP BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) )
ORDER BY DATE( STR_TO_DATE( `date`, '%d/%m/%Y %H:%i:%s' ) ) DESC