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, a
ny_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
SELECT
t1. HOUR HOUR,
t2.device_id,t2.humidity
FROM
(
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
) t1
LEFT 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. HOUR
GROUP BY
t1. HOUR
ORDER BY
t1. HOUR DESC
SELECT `name`,`lat`,`lng`,`state` FROM `dm_device`