ZhuDongming
2020-04-14 954cc0fbfdf943c2a26c30ac828f302b0f586133
src/main/resources/mapper/HistoryMinutelyMapper.xml
@@ -152,7 +152,7 @@
                and hm.mac=#{mac}
            </if>
            and hm.time >= #{startTime}
            and hm.time <![CDATA[<=]]> #{endTime}
            and hm.time <![CDATA[<]]> #{endTime}
        </where>
        ORDER BY
        hm.time
@@ -173,10 +173,35 @@
                and hm.mac=#{mac}
            </if>
            and hm.time >= #{startTime}
            and hm.time <![CDATA[<=]]> #{endTime}
            and hm.time <![CDATA[<]]> #{endTime}
        </where>
        ORDER BY
        hm.time
    </select>
    <select id="getDevicesAvgDataToExcel" resultType="java.util.Map">
        SELECT
        d.name,DATE_FORMAT(time, #{typeFormat}) time,
        <foreach collection="sensorKeys" separator="," item="sensorKey">
            AVG(json->'$.${sensorKey}[0]') AS '${sensorKey}'
        </foreach>
        FROM
        history_${timeUnits} h,
        device d
        WHERE
        h.mac=d.mac
        AND
        h.time >= #{start}
        AND h.time <![CDATA[<=]]> #{end}
        AND h.mac in
        <foreach collection="macs" open="(" separator="," close=")"
                 item="mac">
            #{mac}
        </foreach>
        GROUP BY
        h.mac,d.name,DATE_FORMAT(time, #{typeFormat})
        ORDER BY
        h.mac
    </select>
</mapper>