I have a table named "readings" which contains data from sensors with the following columns:
id id_device date value
1 1 2015-01-01 00:00:00 0.2
2 2 2015-01-01 00:00:00 0.7
3 1 2015-01-01 00:00:10 0.3
4 2 2015-01-01 00:00:10 0.8
5 1 2015-01-01 00:00:20 0.4
6 2 2015-01-01 00:00:20 0.9
And I want to transform it to this table in a single query:
date device_id_1 device_id_2
2015-01-01 00:00:00 0.2 0.7
2015-01-01 00:00:10 0.3 0.8
2015-01-01 00:00:20 0.4 0.9
I've found that doing this is called "pivoting a table" but I've only found how to sum values, not how to order them in time series
I've tried
SELECT DISTINCT(date) FROM readings
and then inside the results loop, querying again for each sensor
SELECT value FROM readings WHERE date=$date AND id_device=$id
But I'm sure that this is not very efficient because it is a lot of queries (one query for each value)
How the sql query would be like?