SELECT DATE_FORMAT(rd_sensor_data.create_time, '%Y-%m-%d %H:00:00') trigger_day,dm_device.id as device_id, any_value(rd_sensor_data.temperature) as temperature, any_value(rd_sensor_data.humidity) as humidity, any_value(rd_sensor_data.conductivity) as conductivity, any_value(rd_sensor_data.ph) as ph, any_value(rd_sensor_data.nitrogen) as nitrogen, any_value(rd_sensor_data.potassium) as potassium, any_value(rd_sensor_data.phosphor) as phosphor FROM `dm_device` left join rd_sensor_data on dm_device.id = rd_sensor_data.device_id WHERE dm_device.type = 1 AND rd_sensor_data.create_time >= (NOW() - interval 24 hour) AND dm_device.id = '0117370018' GROUP BY dm_device.id, DATE_FORMAT(rd_sensor_data.create_time, '%Y-%m-%d %H:00:00') ORDER BY DATE_FORMAT(rd_sensor_data.create_time, '%Y-%m-%d %H:00:00') desc LIMIT 24
SELECTt1. HOUR HOUR,t2.device_id,t2.humidityFROM( SELECT DATE_FORMAT( @cdate := DATE_ADD(@cdate, INTERVAL - 1 HOUR), '%y-%m-%d %H' ) HOUR FROM ( SELECT @cdate := DATE_ADD( DATE_FORMAT(NOW(), '%y-%m-%d %H'), INTERVAL + 1 HOUR ) FROM rd_sensor_data #记录⼤于等于24条的任意⼀张表 ) t0 LIMIT 24) t1LEFT JOIN ( SELECT DATE_FORMAT(create_time, '%y-%m-%d %H') HOUR,ANY_VALUE(`device_id`) as `device_id`,ANY_VALUE(`humidity`) as `humidity` FROM rd_sensor_data #真正要查的记录表 WHERE create_time >= (NOW() - INTERVAL 24 HOUR)) t2 ON t1. HOUR = t2. HOURGROUP BYt1. HOURORDER BYt1. HOUR DESC SELECT `name`,`lat`,`lng`,`state` FROM `dm_device`