次のようなクエリ結果を与える時間ごとに 1 つの値を集計することができました。
SELECT date(takenat) AS takendate,
hour(takenat) AS HourTaken,
avg(reading) AS ch1av
FROM readings
WHERE channelid = 4
GROUP BY takendate, HourTaken
ORDER BY takenat, HourTaken
出力例:
takendate HourTaken ch1av
2013-01-01 0 105.5082
2013-01-01 1 107.2167
2013-01-01 2 106.4833
2013-01-01 3 107.0333
ただし、複数のチャネル ID の結果を (同じクエリで) 取得したい
takedate HourTaken ch1av ch2av ch4av
たとえば、channelid=1、2、および 4 の時間平均
サブクエリを試してみましたが、SQL foo だけでは十分ではありません。