addSql("DROP PROCEDURE pS_LOCATION_ThermometerHistoryGraphList"); $this->addSql(" CREATE PROCEDURE pS_LOCATION_ThermometerHistoryGraphList ( IN locaiton_id BINARY(16), IN start_at DATETIME, IN end_at DATETIME, IN `interval` int ) BEGIN SELECT FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(created_at) / (`interval` * 60)) * (`interval` * 60)) AS time_interval, ROUND(AVG(temperature),1) AS avg_temperature, ROUND(AVG(humidity)) AS avg_humidity FROM location_thermometer WHERE locaiton_id = locaiton_id AND (created_at >= COALESCE(start_at, '1970-01-01 00:00:00')) AND (created_at <= COALESCE(end_at, NOW())) GROUP BY time_interval ORDER BY time_interval ASC; END; "); } public function down(Schema $schema): void { $this->addSql("DROP PROCEDURE pS_LOCATION_ThermometerHistoryGraphList"); $this->addSql(" CREATE PROCEDURE pS_LOCATION_ThermometerHistoryGraphList ( IN locaiton_id BINARY(16), IN start_at DATETIME, IN end_at DATETIME, IN `interval` int ) BEGIN SELECT FROM_UNIXTIME(FLOOR(UNIX_TIMESTAMP(created_at) / (`interval` * 60)) * (`interval` * 60)) AS time_interval, ROUND(AVG(temperature),1) AS avg_temperature, ROUND(AVG(humidity)) AS avg_humidity FROM thermometer WHERE locaiton_id = locaiton_id AND (created_at >= COALESCE(start_at, '1970-01-01 00:00:00')) AND (created_at <= COALESCE(end_at, NOW())) GROUP BY time_interval ORDER BY time_interval ASC; END; "); } }