Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/07/2008, 10:40
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Agrupar datos cada 15 min.

1) Para lo primero tengo una solución que te lo saca en cadena de texto.

Select hora, CONCAT(IF(hour(hora)<10,CONCAT('0',hour(hora)) , hour(hora)),':', IF((FLOOR( MINUTE(hora) / 15 )*15)=0, '00',FLOOR( MINUTE(hora) / 15 )*15)) AS horacuartos FROM nombretutabla

Quita los segundos y te muestra junto al dato de la hora los minutos en cuartos, medias, tres cuartos y enteras. Observa que me sirvo de la misma fórmula que para agrupar, pero que cuando tengo eliminado los restos, vuelvo a multiplicar por 15.

2) de los datos que tienes no creo que puedas sacar los cuartos que no tengan datos. Para eso tal vez deberías crear una tabla con los cuartos de todas las horas del día y luego relacionar por ese dato con ese horacuartos, haciéndolo claro esta con RIGHT JOIN para mostrar ese resultado 0 (esto si solo hablamos de la base de datos, pues con programación podrías usar arrays...).

Esto es lo que se me ocurre...

Última edición por jurena; 13/07/2008 a las 00:42