DATE_SUB(NOW(), INTERVAL 10 MINUTE) 是MySQL的方法,在时间判断中会经常用到。
1. 应用场景:
查询10分钟设备是否在线,根据上报时间判断
2. 原理:
DATE_SUB(NOW(), INTERVAL 10 MINUTE) : 当前时间减去十分钟
查询上报时间在十分钟以内的设备大于0就在线,否则就离线
SELECT
IF ( COUNT( 1 ) = 0, '离线', '在线' ) AS 设备状态
FROM
( SELECT mac_address FROM pro_device_resource WHERE mac_address = 'Mac地址' AND create_time > DATE_SUB( NOW(), INTERVAL 1 HOUR ) GROUP BY mac_address )s