select a.type , a.start_time as startTime , SUBSTR(a.dir, 2, length(a.dir)-2) as dir , TIMESTAMPDIFF(SECOND, a.start_time, ifnull(a.end_time,now())) as duration
from t_event_info a
where a.start_time = (select MAX(start_time) from t_event_info where green_id = #{greenID}
and start_time <![CDATA[ <= ]]> DATE_FORMAT(#{time}, '%Y-%m-%d %H:%i:%s') and start_time >= DATE_FORMAT(DATE_SUB(#{time},INTERVAL 7 MINUTE), '%Y-%m-%d %H:%i:%s')
and dt = DATE_FORMAT(#{time}, '%Y%m%d')
and start_time <![CDATA[ <= ]]> DATE_FORMAT(#{time}, '%Y-%m-%d %H:%i:%s') and start_time >= DATE_FORMAT(DATE_SUB(#{time},INTERVAL 30 MINUTE), '%Y-%m-%d %H:%i:%s')
and dt = DATE_FORMAT(#{time}, '%Y%m%d') and type in (705, 706) )