Tengo una tabla con 2 columnas, fecha y puntaje. Tiene como máximo 30 entradas, para cada uno de los últimos 30 días.MySQL ¿cómo completar las fechas que faltan?
date score
-----------------
1.8.2010 19
2.8.2010 21
4.8.2010 14
7.8.2010 10
10.8.2010 14
Mi problema es que algunas fechas que no aparecen - Quiero ver:
date score
-----------------
1.8.2010 19
2.8.2010 21
3.8.2010 0
4.8.2010 14
5.8.2010 0
6.8.2010 0
7.8.2010 10
...
Lo que necesito de la única consulta es conseguir: 19,21,9,14,0,0 , 10,0,0,14 ... Eso significa que las fechas faltantes se llenan con 0.
Sé cómo obtener todos los valores y en el lenguaje del lado del servidor iterar a través de las fechas y perder los espacios en blanco. Pero, ¿es posible hacerlo en mysql, para que ordene el resultado por fecha y obtenga las piezas faltantes?
EDITAR: En esta tabla hay otra columna llamada ID de usuario, entonces tengo 30,000 usuarios y algunos de ellos tienen la puntuación en esta tabla. Borro las fechas todos los días si la fecha es < hace 30 días porque necesito los últimos 30 días para cada usuario. La razón es que estoy haciendo un gráfico de la actividad del usuario en los últimos 30 días y para trazar un gráfico necesito los 30 valores separados por coma. Así que puedo decir en la consulta consígame la actividad USERID = 10203 y la consulta me daría los 30 puntajes, uno para cada uno de los últimos 30 días. Espero ser más claro ahora.
Sí, es posible, pero * ¿por qué? ¿Lo harías? – NullUserException
Todavía no lo entiendo. No obtenga datos innecesarios de la base de datos si puede llenar esos vacíos con lo que está trazando el gráfico y ahorrará un poco de sobrecarga. – NullUserException
pero luego tengo que SELECCIONAR los datos para USERID, obtengo, por ejemplo, 20 filas de fecha y puntaje y luego tengo que hacer un bucle en el idioma del lado del servidor (ASP) para verificar si hay una fecha hace 30 días, si es no haga que 0 else haga el valor de la base de datos ... ¿No es esto más engorroso que obtener valores de base de datos de 30 y simplemente construir la cadena? – Jerry2