esultados de consulta dinâmica @mysql com GROUP BY
Tenho uma tabela para os dados que quero exportar para um CSV. Idealmente, eu gostaria de mudar as linhas e colunas, para que os dados sejam agrupados um pouco melhor.
ara explicar melhor, atualmente, o banco de dados se parece com iss
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
O que eu gostaria de agrupar o data_value pelo valor data_timestamp, para que os timestamps sejam agrupados e cada data_value para cada data_id seja mostrado em uma coluna, em vez de em uma linha.
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
Abaixo é a consulta que estou 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
Mas não é exatamente o que estou querendo, pois agora existem valores NULL sempre que um data_id não tem um valor. GROUP BY parece agrupar também o valor dos dados, o que não é o que eu quer
Alguma sugestão
EDITAR
Eu já tentei usar WHERE d.input_1 NÃO É NULL na consulta externa, mas não consigo obter os resultados ..
Antes do ONDE ...
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
Adicionar WHERE d.input_1 NÃO É NULL eliminará os valores de 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
Além disso, na realidade, tenho cerca de 20 IDs para agrupar, por isso não seria a melhor das idéias para OU todas elas também ..