| | |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="getPollutionSourceDataByHour" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(time,'%Y-%m-%d %H') time, |
| | | <foreach collection="sensorKeys" separator="," item="sensorKey"> |
| | | AVG(h.value ->'$.${sensorKey}') AS '${sensorKey}' |
| | | </foreach> |
| | | FROM |
| | | <if test="mac!=null and time!=null"> |
| | | (select mac,value,time,version from history |
| | | where mac=#{mac} and time BETWEEN DATE_SUB(#{time}, INTERVAL 1 HOUR) and #{time}) h |
| | | </if> |
| | | GROUP BY |
| | | DATE_FORMAT(time,'%Y-%m-%d %H') |
| | | <if test="time!=null"> |
| | | having time=DATE_FORMAT(DATE_SUB(#{time}, INTERVAL 1 HOUR),'%Y-%m-%d %H') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getPollutionSourceDataAll" resultType="java.util.Map"> |
| | | SELECT |
| | | DATE_FORMAT(time,'%Y-%m-%d %H') time, |
| | | <foreach collection="sensorKeys" separator="," item="sensorKey"> |
| | | AVG(h.value ->'$.${sensorKey}') AS '${sensorKey}' |
| | | </foreach> |
| | | FROM |
| | | <if test="mac!=null"> |
| | | (select mac,value,time,version from history |
| | | where mac=#{mac} and time BETWEEN DATE_SUB(#{time}, INTERVAL 1 DAY) and #{time}) h |
| | | </if> |
| | | GROUP BY |
| | | DATE_FORMAT(time,'%Y-%m-%d %H') |
| | | order by time desc |
| | | limit 0,1 |
| | | </select> |
| | | </mapper> |