Исходных данных не много так что как то так. Основной принцип только.
SELECT
MAX(temp) AS Maximum
MIN(temp) AS Minimum
AVG(temp) AS Average
DATE_FORMAT(ctime, '%c') AS Month
FROM temperature
WHERE ctime > NOW() - INTERVAL 1 YEAR AND ctime < NOW()
GROUP BY Month
ORDER BY ctime DESC