Todo empezo cuando se me ocurrio agrupar resultados por dias algo sencillo que expuse aqui-->http://www.forosdelweb.com/f86/selec...rvalos-771936/
Buenisimo, salio bien.
Despues se me ocurrio por cada x cantidad de minutos (incluso horas) y me respondieron aqui-->http://www.forosdelweb.com/f86/busqu...a-dada-775030/
y me recomenadon leer aqui-->http://www.forosdelweb.com/f86/agrup...-puede-703525/
aunque la verdad que ese post me supero, capaz la complejidad de lo que buscaba el que lo posteo supera lo mio pero creo que se relacionan facilmente.
La idea es la siguiente, necesito hacer un grafico en base a datos de la base de datos (parece un trabalenguas).
Tengo mi tabla con fechas (hora unix en enteros) y temperaturas que provienen de una estacion. Puede ocurrir que la estacion no funcione o algo le pase y en algun lapso de tiempo no envie datos lo que produce "huecos" en la base de datos (eso por suerte no lo manejo yo).
Entonces, si yo hago la siguiente busqueda:
Código:
puede ocurrir que en uno de los intervalos ni siquiera haya registros, le di muchas vueltas basandome en el post que me recomendaron pero sigue igual, esta vez la consulta es todos los dias del mes y construi la consulta asi:SELECT AVG( Temperatura ) Temperatura, Fecha FROM `tabla` WHERE Fecha>=1230786000 AND Fecha <1230814800 GROUP BY ( ( 60 /30 ) * HOUR( FROM_UNIXTIME( Fecha ) ) + FLOOR( MINUTE( FROM_UNIXTIME( Fecha ) ) /30 ) )
Código:
La busqueda es desde el 1/6/2009 hasta el 1/7/2009. Esta busqueda, por ejemplo, no arroja datos el 18/6 por lo tanto, no la "imprime". Como puedo hacer que la imprima y que me arroje un "no hay datos"???SELECT IFNULL( AVG( Temperatura ) , 0 ) AS Temperatura, DATE_FORMAT( FROM_UNIXTIME( Fecha) , '%d-%m' ) Fecha2, IF( DATE_FORMAT( FROM_UNIXTIME( Fecha) , '%d-%m' ) = " ", 'NO HAY', 'SI HAY' ) Fechita FROM `tabla` WHERE FechaHora >=1243814400 AND FechaHora <1246406400 GROUP BY ( DAY( FROM_UNIXTIME( Fecha) ) ) ORDER BY Fecha
Es cierto tambien que ningun dato puede ser nulo en la base de datos asi que me quede sin ideas
Perdonen la molestia.