История изменений
Исправление unC0Rr, (текущая версия) :
generate_series(date_trunc('year', CURRENT_DATE - interval '2 years'), date_trunc('year', CURRENT_DATE), '1 year') для получения серии из начал трёх последних лет, EXTRACT(hour FROM time) для получения часа из времени, ну в целом что-то такое получится:
SELECT avg(td.temperature) FROM
(SELECT generate_series(date_trunc('year', CURRENT_DATE - interval '3 years'), date_trunc('year', CURRENT_DATE - interval '1 year'), '1 year') as y) as years
JOIN tempdata as td ON (td.time BETWEEN years.y AND years.y + interval '1 month' AND EXTRACT(hour FROM td.time) BETWEEN 8 AND 15)
GROUP BY date_trunc('hour', td.time)
Исходная версия unC0Rr, :
generate_series(date_trunc('year', CURRENT_DATE - interval '3 years'), date_trunc('year', CURRENT_DATE), '1 year') для получения серии из начал трёх последних лет, EXTRACT(hour FROM time) для получения часа из времени, ну в целом что-то такое получится:
SELECT avg(td.temperature) FROM
(SELECT generate_series(date_trunc('year', CURRENT_DATE - interval '3 years'), date_trunc('year', CURRENT_DATE - interval '1 year'), '1 year') as y) as years
JOIN tempdata as td ON (td.time BETWEEN years.y AND years.y + interval '1 month' AND EXTRACT(hour FROM td.time) BETWEEN 8 AND 15)
GROUP BY date_trunc('hour', td.time)