esultados de la consulta dinámica @mysql con GROUP BY
Tengo una tabla de datos que quiero exportar a un CSV. Idealmente, me gustaría cambiar las filas y columnas para que los datos se agrupen un poco mejor.
Para explicar más, actualmente, la base de datos tiene este aspecto ..
data_id data_timestamp data_value
--------------------------------------------
1 2011-07-07 00:01:00 0.400
1 2011-07-07 00:02:00 0.500
1 2011-07-07 00:03:00 0.600
1 2011-07-07 00:04:00 0.700
2 2011-07-07 00:01:00 0.100
2 2011-07-07 00:02:00 0.200
2 2011-07-07 00:03:00 0.250
2 2011-07-07 00:04:00 2.300
Qué me gustaría agrupar data_value por el valor de data_timestamp, de modo que las marcas de tiempo estén agrupadas y cada data_value para cada data_id se muestre en una columna, en lugar de una fila.
data_timestamp input_1 input_2
--------------------------------------------
2011-07-07 00:01:00 0.400 0.100
2011-07-07 00:02:00 0.500 0.200
2011-07-07 00:03:00 0.600 0.250
2011-07-07 00:04:00 0.700 2.300
Abajo está la consulta que estoy usando ...
SELECT d.data_timestamp, d.input_1, d.input_2
FROM (
SELECT data_timestamp,
IF(data_id=1,data_value,NULL) AS 'input_1',
IF(data_id=2,data_value,NULL) AS 'input_2' FROM data
) AS d ORDER BY data_timestamp ASC
Pero no es exactamente lo que quiero, ya que ahora hay valores NULL cada vez que un data_id no tiene un valor. GROUP BY parece agrupar también el data_value, que no es lo que quiero.
¿Alguna sugerencia
EDITAR
Ya he intentado usar WHERE d.input_1 NO ES NULO en la consulta externa, pero no puedo obtener los resultados ..
Antes del DÓNDE ...
data_timestamp input_1 input_2
--------------------------------------------
2011-07-07 00:01:00 0.400 NULL
2011-07-07 00:01:00 NULL 0.100
2011-07-07 00:02:00 0.500 NULL
2011-07-07 00:02:00 NULL 0.200
2011-07-07 00:03:00 0.600 NULL
2011-07-07 00:03:00 NULL 0.250
2011-07-07 00:04:00 0.700 NULL
2011-07-07 00:04:00 NULL 2.300
Agregar DONDE d.input_1 NO ES NULO eliminará los valores input_2 ..
data_timestamp input_1 input_2
--------------------------------------------
2011-07-07 00:01:00 0.400 NULL
2011-07-07 00:02:00 0.500 NULL
2011-07-07 00:03:00 0.600 NULL
2011-07-07 00:04:00 0.700 NULL
Además, en realidad, tengo alrededor de 20 identificaciones para agrupar, por lo que tampoco sería la mejor idea para O todos ellos ...